golang 的参数传递
package mainimport "fmt"/*
值传递:函数收到的是参数的副本,修改不影响原本
引用传递:函数收到的是参数的地址,修改会影响原本go 中的 值传递 有 : 基本的数据类型,数组
引用传递:切片以及指针
*/func change(nums [3]int){nums[0] = 1
}func change1(nums []int){nums[0] = 0
}func change3(a,b int){a += 1b += 1
}func change4(a,b *int){*a += 1*b += 1
}func main(){// 验证 数组是值传递nums := [3]int{};change(nums)fmt.Println(nums) // [0,0,0] 没有修改nums2 := []int{1,2,3};change1(nums2)fmt.Println(nums2) // [0,2,3] 修改了a:=0b:=0change3(a,b) //基本类型值传递fmt.Println(a,b) // 0,0change4(&a,&b) //传地址进去,指针修改fmt.Println(a,b) // 1,1}