GoLang學習八 陣列(Array)

2021-10-08 07:12:29 字數 3171 閱讀 3441

go語言提供了陣列型別的資料結構。

陣列是具有相同唯-型別的一組已編號且長度固定的資料項序列,這種型別可以是任意的原始型別例如整形、字串或者自定義型別。

陣列元素可以通過索引(位置)來讀取(或者修改),索引從0開始,第乙個元素索引為0,第二個索引為1,以此類推。陣列的下標取值範圍是從0開始,到長度減1。

陣列一旦定義後,大小不能更改。

宣告和初始化陣列:需要指明陣列的大小和儲存的資料型別。

var variable_ name [size] variable_ type
示例**

var arr =[10

]int

// [1 2 3 4 0 0 0 0 0 0]

fmt.

println

(arr)

//陣列長度: 10

//陣列容量: 10

fmt.

println

("陣列長度:"

,len

(arr)

) fmt.

println

("陣列容量:"

,cap

(arr)

)var arr1 [4]

int arr1[0]

=1arr1[1]

=2arr1[2]

=3arr1[3]

=4// [1 2 3 4]

fmt.

println

(arr1)

初始化陣列中{}中的元素個數不能大於0]中的數字。

如果忽略0中的數字不設定陣列大小,go語言會根據元素的個數來設

// 報錯

var arr1 [

]int

arr1[0]

=1arr1[1]

=2arr1[2]

=3arr1[3]

=4var arr2 =

int// [1 2 3 4]

// 4

fmt.

println

(arr2)

fmt.

println

(len

(arr2)

)

var arr2 =

intfor i :=

0; i <

len(arr2)

; i++

fmt.

println()

for i :=

range arr2

fmt.

println()

for index, value :=

range arr2

arr3 :=

int// int

arr4 :=

float64

// float64

arr5 :=[5

]int

// [5]int

arr6 :=[2

]string

// [2]string

值型別:理解為儲存的數值本身

將資料傳遞給其他的變數,傳遞的是資料的副本(備份)

int, float, string, bool, array

== 判斷的是數值是否相等

引用型別:理解為儲存的資料的記憶體位址

slice, map。。

num :=

10 num1 := num // 值傳遞,兩個是不同物件,指向的不同的位址

// 10 10

fmt.

println

(num,num1)

num1 =

20// 10 20

fmt.

println

(num,num1)

arr7 :=[4

]int

arr8 := arr7 // 值傳遞,兩個是不同物件,指向的不同的位址

// [1 2 3 4] [1 2 3 4]

fmt.

println

(arr7,arr8)

arr8[0]

=20// [1 2 3 4] [20 2 3 4]

fmt.

println

(arr7,arr8)

氣泡排序

arr9 :=[10

]int

fmt.

println

(arr9)

for i :=

1; i <

len(arr9)

;i++}}

fmt.

println

(arr9)

arr10 :=

int,,,

}// 7

fmt.

println

(arr10[1]

[3])

// [[0 1 2 3] [4 5 6 7] [8 9 10 11]]

fmt.

println

(arr10)

arr11 :=[3

][5]

int,,,

}// 7

fmt.

println

(arr11[1]

[3])

// 0

fmt.

println

(arr11[1]

[4])

// [[0 1 2 3 0] [4 5 6 7 0] [8 9 10 11 0]]

fmt.

println

(arr11)

arr12 :=[3

][4]

int,,,

}// 7

fmt.

println

(arr12[1]

[3])

// [[0 1 2 3] [4 5 6 7] [8 9 10 11]]

fmt.

println

(arr12)

// 遍歷

for i, ints :=

range arr12

}for

_, ints :=

range arr12

}

js學習(八) 陣列

目錄初級開發大多使用內建物件和陣列物件 陣列也是乙個物件 他和我們普通物件功能類似,也是用來儲存一些值的 不同的是普通物件是使用字串作為屬性名的,而陣列是使用數字來作為索引操作元素 陣列的儲存效能比普通物件要好,在開發中我們經常使用陣列來儲存一些資料 建立陣列物件 var arr new array...

golang 包含 陣列 Golang陣列型別

陣列 陣列是指一系列同一型別資料的集合。陣列中包含的每個資料被稱為陣列元素 element 乙個陣列包含的元素個數被稱為陣列的長度。1.宣告方法 32 byte 長度為32的陣列 2 n struct 複雜型別陣列 100 float64 指標陣列 3 5 int 二維陣列 2 2 2 float6...

golang 包含 陣列 Golang 陣列與分片

與陣列的區別陣列是固定長度的,而分片確實可動態增長的,以定義為例 定義陣列,一定要指定長度var names 5 string 定義分片,不需要指定長度var names string在函式呼叫時,陣列是值傳遞,而分片是引用傳遞 其實對於 golang 來講,函式呼叫的時候都是值傳遞,拷貝乙個副本,...