Я пытаюсь понять горутины. Возьмите этот код:
package main
import "fmt"
var (
b1 []float64
b2 []float64
)
func main() {
go fill(&b1, 10)
go fill(&b2, 10)
fmt.Println(b1,b2)
var s string
fmt.Scanln(&s)
}
func fill(a *[]float64, n int) {
for i:=0; i<n; i++ {
*a = append(*a, rand.Float64()*100)
}
}
Как видите, я пытаюсь заполнить два ломтика. Но при таком запуске (с go fill()
) он печатает два пустых фрагмента. Почему это не работает?
sync.WaitGroup
, канала или какого-либо другого механизма. - person twotwotwo   schedule 16.04.2015