1. 程式人生 > >golang切片類型

golang切片類型

imp 一個 其中 圖片 元素 影響 png info Golan

切片slice

  • 其本身並不是數組,它指向底層的數組
  • 作為變長數組的替代方案,可以關聯底層數組的局部或全部
  • 為引用類型
  • 可以直接創建或從底層數組獲取生成
  • 使用len()獲取元素個數,cap()獲取容量
  • 一般使用make()創建
  • 如果多個slice指向相同底層數組,其中一個的值改變會影響全部
  • make([]T,len,cap)
  • 其中cap可以省略,則和len的值相同
  • len表示存數的元素個數,cap表示容量

slice的定義方式

package main

import (
    "fmt"
)

func main() {
    /*
    a := [10]int{}
    fmt.Println(a)
    s1 := a[5:]
    // s1 := a[5:len(a)]
    // s1 := a[5:10]
    fmt.Println(s1)
    */
    s1 := make([]int,3,10)
    fmt.Println(s1,len(s1),cap(s1))
}

slice與底層數組的對應關系

技術分享圖片

golang切片類型