我正在尝试在其他array
中更改func
,然后返回更改的内容。因此,我在下面编写了一个示例代码,我的问题是为什么changeArr02
函数中的更改会影响原点arr
而changeArr01
不会影响原点。
package main
import "fmt"
func changeArr01(arr [1]int) {
arr[0] = -100
}
func changeArr02(arr []int) {
arr[0] = -200
}
func main() {
arr01 := [1]int{}
changeArr01(arr01)
fmt.Println(arr01) // 0
arr02 := []int{0}
changeArr02(arr02)
fmt.Println(arr02) // -200
}
答案 0 :(得分:5)
arr01 := [1]int{}
是一个整数数组,大小为1
arr02 := []int{0}
这是一个整数切片,其中一个整数在(0)之内
更多解释在这里: https://tour.golang.org/moretypes/7