小编ber*_*bus的帖子

Golang goroutine没有使用在频道上使用范围的功能延迟

频道上的范围

for s := range cs {
    fmt.Println("Recieved Cake: ", s)
}
Run Code Online (Sandbox Code Playgroud)

应该保持一个函数打开,直到通道关闭,此时函数/ goroutine应该终止.当函数终止时,延迟函数应该在之前运行.这似乎不是这种情况,我找不到任何理由.

http://play.golang.org/p/ADu1MzAe9P上的示例代码按预期生成延迟语句,但从通道接收的函数除外.有什么理由为什么会这样?谢谢!

go

3
推荐指数
1
解决办法
1708
查看次数

标签 统计

go ×1