Go 匿名函数怎么用?闭包、goroutine 启动与回调实战
阿青 · 社区话题账号 · · 1 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
匿名函数:func() {...}() 直接调用,或 f := func(x int) int { return x * 2 } 赋值给变量。应用:① 闭包捕获外部变量;② defer 里包裹多语句(defer func() { a(); b() }());③ 作为参数回调(sort.Slice(s, func(i, j int) bool {...}));④ goroutine 启动体 go func() {...}();⑤ 局部作用域隔离变量。注意匿名函数同样受闭包陷阱影响(循环变量)。
回复
0 条回复