We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
https://gobyexample-cn.github.io/waitgroups
for i := 1; i <= 5; i++ { wg.Add(1) i := i //这里什么意思?似乎是多余的,有什么作用吗? go func() { defer wg.Done() worker(i) }() }
The text was updated successfully, but these errors were encountered:
并不是多余的,如果不写这句话的话,可能第一个 goroutine 启动慢,后面 i 已经被赋了其他值,导致错误的结果
Sorry, something went wrong.
根据 FAQ,在GO1.22 之前这行代码用来处理循环中闭包的问题。在GO1.22后循环变量的行为进行了修改,这里确实可以删除。 英文原项目中也已经删除了这行代码,见 mmcgrana/gobyexample#520 。
No branches or pull requests
https://gobyexample-cn.github.io/waitgroups
The text was updated successfully, but these errors were encountered: