[1] int {}和[] int {0}有什么区别

时间:2019-04-04 17:41:08

标签: go

我正在尝试在其他array中更改func,然后返回更改的内容。因此,我在下面编写了一个示例代码,我的问题是为什么changeArr02函数中的更改会影响原点arrchangeArr01不会影响原点。

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
}

1 个答案:

答案 0 :(得分:5)

 arr01 := [1]int{}

是一个整数数组,大小为1

 arr02 := []int{0}

这是一个整数切片,其中一个整数在(0)之内

更多解释在这里: https://tour.golang.org/moretypes/7