老虞學GoLang筆記 陣列和切片

2021-08-14 13:38:42 字數 986 閱讀 6206

**:

陣列是內建(build-in)型別,是一組同型別資料的集合,它是值型別,通過從0開始的下標索引訪問元素值。在初始化後長度是固定的,無法修改其長度。當作為方法的入參傳入時將複製乙份陣列而不是引用同一指標。陣列的長度也是其型別的一部分,通過內建函式len(array)獲取其長度。

初始化

賦值與使用

陣列通過下標訪問元素,可修改其元素值

arr :=[...] int 

arr[4]=arr[1]+len(arr) //arr[4]=2+5

arr := [5]int

for index, value := range arr

for index := 0; index < len(arr); index++

arr2 := [5]int 

arr5 := arr2

arr5[0] = 5

arr2[4] = 2

fmt.printf(" arr5= %d \n arr2=%d \n arr5[0]==arr2[0]= %s \n", arr5, arr2, arr5[0] == arr2[0])

output:

arr5=[5 2 0 0 0]

arr2=[1 2 0 0 2]

arr5[0]==arr2[0]= false

陣列的長度不可改變,在特定場景中這樣的集合就不太適用,go中提供了一種靈活,功能強悍的內建型別slices切片,與陣列相比切片的長度是不固定的,可以追加元素,在追加時可能使切片的容量增大。切片中有兩個概念:一是len長度,二是cap容量,長度是指已經被賦過值的最大下標+1,可通過內建函式len()獲得。容量是指切片目前可容納的最多元素個數,可通過內建函式cap()獲得。切片是引用型別,因此在當傳遞切片時將引用同一指標,修改值將會影響其他的物件。

初始化

賦值與使用

Go學習筆記 陣列和切片

陣列型別的值 以下簡稱陣列 的長度是固定的,而切片型別的值 以下簡稱切片 是可變長的。陣列的長度在宣告它的時候就必須給定,並且在之後不會再改變。可以說,陣列的長度是其型別的一部分。go 語言的切片型別屬於引用型別,同屬引用型別的還有後面會講到的字典型別 通道型別 函式型別等 而 go 語言的陣列型別...

Go學習筆記 陣列和切片

陣列 陣列是具有相同唯一型別的一組已編號且長度固定的資料項序列 同構的資料結構 這種型別可以是任意的原始型別,例如整型 字串或者自定義型別。陣列長度必須是乙個常量表示式,並且必須是乙個非負整數。陣列成都也是陣列型別的一部分,所以 5 int和 10 int是屬於不同型別的。陣列是一種值型別。陣列的編...

C和指標筆記 陣列的乘法

1 code by zzlpp 2 include 3 include 4 5void matrix multiply int m1,int m2,int r,6int const x,int const y,int const z 78 9int main void 10 13 m2 1 3 14...