Go 1.22 版本正式发布
语言变化 长期存在的 "for "循环在迭代之间意外共享循环变量的问题现已得到解决。 从 Go 1.22 开始,以下代码将按一定顺序打印 "a"、"b "和 "c": func main() { done := make(chan bool) values := []string{"a", "b", "c"} for _, v := range values { go func() { fmt.Println(v) done <- true }() } // wait for all goroutines to complete before exiting for _ = range values { <-done } } 有关这一变更以及有助于防止代码意外中断的工具的更多信息,请参阅之前的《Fixing For Loops in Go 1.22[2]》。 第二个语言变化是支持整数范围: package main import "fmt" fu...