【发布时间】:2013-09-13 15:17:39
【问题描述】:
我正在尝试在结构中使用 slice chan 类型,类似于下面的代码。 但是,当我尝试接收时
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)
}
【问题讨论】:
-
这是我在play.golang.org/p/dLe0MIrLFw 试图弄清楚的事情,这就是为什么变量被命名为“blah”
-
注释掉涉及 test 的两行并只放入 c.slice