Go语言使用range修改值,需要使用切片的指针 &slice[index]

发布时间 2023-11-05 18:38:45作者: 皮豪

由于 Value 是值拷贝的,并非引用传递,所以直接改 Value 是达不到更改原切片值的目的的,需要通过 &slice[index] 获取真实的地址


package main

import ("fmt")

func main(){
	slice := []int{10,20,30,40}
	for index,value := range slice {
		fmt.Printf("Value = %d, value-addr = %x, slice-addr = %x \n", value , & value, &slice[index])
	}
}

image