go 語言切片

劍塵發表於2018-07-16

1.陣列切片特點
陣列切片就像一個指向陣列的指標,實際上擁有自己的資料結構,陣列切片的結構可以抽象為以下三個變數
a.一個指向原生陣列的指標
b. 陣列切片中元素的個數
c.陣列切片已分配的儲存空間
2.建立陣列切片
建立陣列切片的方式有兩種-------基於陣列和直接建立
2.2.1 基於陣列的形式
file
go語言支援 myArr[first:last] 這樣的方式生成一組陣列切片
2.2.2直接建立
建立一個初始元素個數為5的陣列切片,元素初始值為0:
mySlice1 := make([]int,5)
建立一個初始元素個數為5的切片,元素初始值為0,並且預留10個元素的儲存空間
mySlice2 := make([]int,5,10)

     直接建立包括5個元素的陣列切片

3.元素遍歷
4.動態增減元素
與陣列相比,陣列切片多了一個儲存能力,即元素個數和儲存多空間可以是兩個不同多值。合理的設定儲存能力的值,可以大大降低陣列切片內部重新分配記憶體和搬送記憶體塊的頻率,從而提高效能。
mySlice := make([]int,5,10)
fmt.Println("len(mySlice):",len(mySlice)) //5
fmt.Println("cap(mySlice:)",cap(mySlice))//10
使用append 追加元素
file
append()的第二個引數是不定引數,可以直接將一個陣列切片直接追加到陣列切片的末尾。
file
5.基於陣列切片建立切片
6.內容複製

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章