go range 坑
package main
import "fmt"
/*
*
在for循环中,声明了一个i变量,每次循环将i的地址追加到out切片中,
但是每次追加的其实都是i变量,因此我们追加的是一个相同的地址,而该地址最终的值是3。
range坑, 每次
*/
func main() {
var out []*int
for i := 0; i < 3; i++ {
// i := i // 解开
out = append(out, &i)
fmt.Println(i)
}
fmt.Print...