在go中, 数组和切片是两种不同的数据类型, 这两种类型表现类似, 声明方法也只存在细微差异

数组

  1. 声明并置零
    var array [5]int

  2. 使用数组字面量(用具体值初始化每个元素)
    array :=[5]int{1,2,3,4,5}

  3. 自动计算长度
    array := […]int{1,2,3,4,5}

  4. 声明并制定特定元素
    array := [5]int{1:10, 4:20}

切片

  1. 使用长度
    slice := make([]int, 3)

  2. 使用长度和容量
    slice := make([]int, 4, 5)

  3. 使用字面量
    slice := []int{1,2,3}

  4. 使用索引
    slice := []int{1:10, 4:20}

数据和切片声明的不同在于[]内是否指定了长度(或暗示存在长度)