1. 基础

    数组是值类型 [5]int 和 [10]int 是不同类型的

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var arr1 [5]int
    arr2 := [3]int{1,2,3}
    arr3 := [...]int{1,2,3,4,5}
    //[]int{}是切片
    fmt.Println(arr1)
    fmt.Println(arr2)
    fmt.Println(arr3)

    var grid [4][5]int
    fmt.Println(grid)
  2. range

    返回两个值,第一个是index 第二个是value

    1
    2
    3
    4
    5
    6
    7
    for i, v:= range arr3{
    fmt.Println(i,v)
    }

    for _, v:= range arr3{
    fmt.Println(v)
    }
  3. 数组作为参数

    函数func(arr [10]int)会拷贝数组
    函数func(arr *[10]int)是传递的数组指针
    函数func(arr []int)会传递切片