**:
陣列是內建(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++
陣列的長度不可改變,在特定場景中這樣的集合就不太適用,go中提供了一種靈活,功能強悍的內建型別slices切片,與陣列相比切片的長度是不固定的,可以追加元素,在追加時可能使切片的容量增大。切片中有兩個概念:一是len長度,二是cap容量,長度是指已經被賦過值的最大下標+1,可通過內建函式len()獲得。容量是指切片目前可容納的最多元素個數,可通過內建函式cap()獲得。切片是引用型別,因此在當傳遞切片時將引用同一指標,修改值將會影響其他的物件。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學習筆記 陣列和切片
陣列型別的值 以下簡稱陣列 的長度是固定的,而切片型別的值 以下簡稱切片 是可變長的。陣列的長度在宣告它的時候就必須給定,並且在之後不會再改變。可以說,陣列的長度是其型別的一部分。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...