引用新的元素的副本,而不是元素直接引用
package main import( "fmt" ) func main(){ // fmt.Println("Hello World") slice := []int{0,1,2,3} m := make(map[int]*int) for k,v := range slice { // wrong sample 引用同一变量地址 // m[k] = &v // correct sample, 使用新变量地址 val := v m[k] = &val } for k,v := range m { fmt.Println(k, "->", *v) } }