请问golang的闭包一般在什么地方用?

小弟新学了golang,闭包也看明白了,就是不清除它适合运用在哪些地方,我就只知道可以像c语言函数里的static变量那样用,一般golang里的闭包适合做哪些应用?

阅读 4.9k
5 个回答

HTTP router middleware,比如go-chi/chimiddleware

你可以使用闭包来做装饰器

函数式编程中这种闭包的使用比较常见,特别是在nodejs中,几乎成了高级语言的标配。

需要临时开启goroutine时需要 go func(){}()
在panic的recover时使用
使用option模式传递配置时使用
各种回调时可能使用

需要调用函数, 且该函数与运行环境有关系时, 就使用闭包.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题