arr2 := [5]int{1,2 ,4}
fmt.Println(arr2)
printArray(arr2)
printArray2(&arr2)
数组作函数参数,它是值传递
实参数的每个元素给形参数组拷贝一份
形参的数组是实参数据的复制品
func printArray(arr [5]int) {
arr[1] = 100
for i, v:=range arr {
fmt.Println(i, v)
}
}
输出
0 1
1 100
2 4
3 0
4 0
[10]int和[20]int 是不同类型
调用func f(arr [10]int)会拷贝数组
func printArray2(arr *[5]int) {
arr[1] = 100
for i, v:=range arr {
fmt.Println(i, v)
}
}
输出
0 1
1 100
2 4
3 0
4 0