我试图理解 Go 中创建一个带参数的匿名函数与让该函数充当闭包之间的区别。这是差异的一个例子。带参数:func main() { done := make(chan bool, 1) go func(c chan bool) { time.Sleep(50 * time.Millisecond) c <- true }(done) <-done}作为关闭:func main() { done := make(chan bool, 1) go func() { time.Sleep(50 * time.Millisecond) done <- true }() <-done}我的问题是,第一种形式什么时候比第二种形式好?你会为这种事情使用参数吗?我唯一能看到第一种形式有用的时候是func(x, y)从另一个函数返回 a 时。
1 回答
- 1 回答
- 0 关注
- 174 浏览
添加回答
举报
0/150
提交
取消