Go学习 数组和切片

数组:

相对于C语言,go的数组差异性具体表现在:

  1. 数组是值传递,非指针传递。将一个数组赋值给另一个数组,会拷贝所有的元素;

  2. 数组的大小是类型的一部分。[4]arr 和 [6]arr 是两个不同的数组;

创建:

    1. arr := [3]int{1,2,3} ; arr := [...]int{1,2,3,4}   //静态数组  

    2. arr  : =  []int{}   // 动态切片

    2. arr := make([]int,5,10) //动态切片

赋值:

    arr[0] = 1 // 静态赋值

    arr = append(arr,6)  //动态扩容

    ps: 静态数组不能使用append ,动态切片最好不要使用index,否则可能会 out of index

遍历:

    for i:=0;i<len(arr);i++{

            fmt.Println(arr[i])

    }


    for i,v := range arr{

        fmt.Println(i,v)

    }

你可能感兴趣的:(数组,Go,切片)