Until you spawn a goroutine from a loop and suddenly you have to think about scope rules, nonlocal references, etc...
(It doesn't bother me, just noting the same complexities do come up pretty often).
Re:Go is not an easy language (2021)
by nasretdinov on Sunday January 14, 2024 @09:33AM
(#38990744)
BTW this is actually being addressed, specifically the for loop now essentially captures by value instead of by reference. I believe no real working programs were affected by the change, except for maybe fixing bugs in them.
Re:Go is not an easy language (2021)
by erik_seaberg on Sunday January 14, 2024 @06:26AM
(#38989496)
Map and filter name what they’re doing, while loops look too much alike.
I haven’t checked whether any Go compiler does list fusion between producers and consumers (to avoid leaving a slice in the heap after reading it just once).
When you introduce lambdas/closures/HOF you immediately have to think about scope rules, non-local references etc.
Meanwhile, a foor loop is just a for loop.