for-range取地址遍历会是最后一个元素值
package main
import (
"fmt"
)
func main() {
strs := []string{
"1", "3", "4"}
res := []string{
}
res_add := []*string{
}
for _, val := range strs {
res = append(res, val)
res_add = append(res_add, &val)
fmt.Println(val)
fmt.Println(&val)
}
for _,val := range res_add {
fmt.Println(*val)
}
}
func test(a *string) {
fmt.Printf("====%s",*a)
}
输出:
1
0xc000010200
3
0xc000010200
4
0xc000010200
4
4
4