package main
import (
"fmt"
)
func test_range_val_copy() {
a := []int{1, 2, 3, 4}
// 下面使用的v是一個臨時變量
// 相當於 var v int
// 這時臨時變理v的地址是固定下來了,每次v的值在變,但是&v的地址是不變的
// 最後&v會指向數組最後一個元素,所以在使用range循環的時候,一定注意是值拷貝
for i, v := range a {
fmt.Println(&v, &a[i])
}
}
func main() {
test_range_val_copy()
}
運行結果: