GoLang闭包,注意!这里有蹊跷
出处:
mp.weixin.qq.com
作者:
邹靓
笔者前段时间的工作中,某业务因为一行闭包错误使用的代码,引起了一次“血案”。闭包是一个函数及其相关的引用环境,可以捕获和记住函数定义时的状态信息并在函数执行时使用。 看一个例子:生活中我们在快餐店点餐时都会有点餐的号码,一般从1开始计数,每次顾客点餐时编号都会增加1,当两个顾客同时点餐的时候为了避免他们可能会得到相同的编号,就可以使用到闭包。Go语言提供了对闭包的支持,上述例子可以看到它在某些场景下是有作用的,但如果不小心,还是会踩坑的哦~ 本文会从golang闭包的基础知识、常见踩坑指南等方向解析,如果你也遇到过相同的问题为之困惑,欢迎阅读本文,跟我一起重新认识闭包正确使用姿势~