|
|
|
|
|
by tcard
3199 days ago
|
|
> I can't recall ever seeing code like this in the wild, and if I ever saw it in a code review, I would certainly tell the author to rename the local variable. This is somewhat common in Go, specially when capturing a for-loop-scoped variable in a closure. It's even recommended in the official FAQ [1]. 1. https://golang.org/doc/faq#closures_and_goroutines |
|
That's because Go chose to reuse the loop variable in each iteration instead of binding a fresh one each time.
C# figure out that was a mistake years ago and fixed it in 5.0 [1]. Dart has always bound a new variable in each iteration. I don't know why Go made the choice they did.
[1]: https://blogs.msdn.microsoft.com/ericlippert/2009/11/12/clos...