Я пытаюсь использовать тип chan chan внутри структуры, аналогичный приведенному ниже коду. Однако, когда я пытаюсь получить вGolang - Использование chan slice внутри struct
test := <-c.slice
Программа свисает. Есть ли способ сделать это?
package main
import "fmt"
type blah struct {
slice chan [][]int
}
func main() {
slice := make([][]int, 3)
c := blah{make(chan [][]int)}
slice[0] = []int{1, 2, 3}
slice[1] = []int{4, 5, 6}
slice[2] = []int{7, 8, 9}
go func() {
test := <- c.slice
test = slice
c.slice <- test
}()
fmt.Println(<-c.slice)
}
Это то, что я пытался выяснить на http://play.golang.org/p/dLe0MIrLFw, поэтому переменная называется «blah» – thomas
, комментируя две строки, связанные с тестированием, и просто поместите c.slice < - slice отлично работает ... Так почему я могу что-то вставить в чан, но, похоже, не извлекаю из чан, что я делаю неправильно? – thomas