引用传递
func main() {
var salary[5] int
salary[0] =7000
salary[1] =11000
salary[2] =17000
salary[3] =23000
salary[4] =33000
change(&salary)
for k,v:= range salary{
fmt.Printf("%d 对应 %d \n",k,v)
}
}
func change(salary*[5] int){
(*salary)[0] = 77000
fmt.Printf("朕的月收入 %d \n",salary[0])
}
值传递
func main() {
var salary[5] int
salary[0] =7000
salary[1] =11000
salary[2] =17000
salary[3] =23000
salary[4] =33000
change(salary)
for k,v:= range salary{
fmt.Printf("%d 对应 %d \n",k,v)
}
}
func change(salary[5] int){
salary[0] = 77000
fmt.Printf("朕的月收入 %d \n",salary[0])
}
该文通过两个Go语言代码示例展示了值传递和引用传递的区别。在值传递中,函数接收到的是数组的一个副本,修改不会影响原数组;而在引用传递中,函数操作的是数组的指针,可以改变原数组的值。
925

被折叠的 条评论
为什么被折叠?



