兄弟連go教程(16)資料 - Array
和以往認知的陣列有很⼤大不同。
•陣列是值型別,賦值和傳參會複製整個陣列,⽽而不是指標。
•陣列⻓長度必須是常量,且是型別的組成部分。[2]int 和 [3]int 是不同型別。
•⽀支援 "=="、"!=" 操作符,因為記憶體總是被初始化過的。
•指標陣列 [n]*T,陣列指標 *[n]T。
可⽤用複合語句初始化。
a := [3]int{1, 2} // 未初始化元素值為 0。
b := [...]int{1, 2, 3, 4} // 通過初始化值確定陣列⻓長度。
c := [5]int{2: 100, 4:200} // 使⽤用索引號初始化元素。
d := [...]struct {
name string
age uint8
}{
{"user1", 10}, // 可省略元素型別。
{"user2", 20}, // 別忘了最後⼀一⾏行的逗號。
}
⽀支援多維陣列。
a := [2][3]int{{1, 2, 3}, {4, 5, 6}}
b := [...][2]int{{1, 1}, {2, 2}, {3, 3}} // 第 2 緯度不能⽤用 "..."。
值拷⻉貝⾏行為會造成效能問題,通常會建議使⽤用 slice,或陣列指標。
func test(x [2]int) {
fmt.Printf("x: %p\n", &x)
x[1] = 1000
}
func main() {
a := [2]int{}
fmt.Printf("a: %p\n", &a)
test(a)
fmt.Println(a)
}
輸出:
a: 0x2101f9150
x: 0x2101f9170
[0 0]
內建函式 len 和 cap 都返回陣列⻓長度 (元素數量)。
a := [2]int{}
println(len(a), cap(a)) // 2, 2
尹成老師
QQ77025077
微信18510341407
所有視訊在尹成學院
www.yinchengxueyuan.com
尹成百度雲請聯絡QQ475318423
相關文章
- 兄弟連go教程(17)資料 - SliceGo
- 兄弟連go教程(18)資料 - MapGo
- 兄弟連go教程(19)資料 -StructGoStruct
- 兄弟連go教程(19)資料 - 匿名欄位Go
- 兄弟連go教程(19)資料 - ⾯物件導向Go物件
- 兄弟連go教程(5)字串Go字串
- 兄弟連go教程(6)指標Go指標
- 兄弟連go教程(2)型別-常量Go型別
- 兄弟連go教程(3)基本型別Go型別
- 兄弟連go教程(1)型別-變數Go型別變數
- 兄弟連go教程(7)自定義型別Go型別
- 兄弟連go教程(10)表示式 - 控制流Go
- 兄弟連go教程(12)函式 - 變參Go函式
- 兄弟連go教程(9)表示式-初始化Go
- 兄弟連go教程(13)函式 返回值Go函式
- 兄弟連go教程(14)函式 - 匿名函式Go函式
- 兄弟連go教程(15)函式 - 延遲呼叫Go函式
- 兄弟連go教程(4)型別-引用及轉換Go型別
- 兄弟連go教程(8)表示式--保留字;運算子Go
- 兄弟連go教程(11)函式 - 函式定義Go函式
- 兄弟連go教程(15)函式 - 錯誤處理Go函式
- Go資料結構系列之 Array and AliceGo資料結構
- Go 基礎教程--6 陣列 ArrayGo陣列
- Go 基礎教程--5 陣列 ArrayGo陣列
- 兄弟連golang神技(1)-關於 Go 語言的介紹Golang
- 兄弟連百度應用開發系列視訊教程
- 資料庫索引,小白連環16問資料庫索引
- 【Go】深入剖析slice和arrayGo
- 【Go】深入剖析 slice 和 arrayGo
- mysql資料庫連線池配置教程MySql資料庫
- Go資料結構與力扣—連結串列Go資料結構力扣
- 寫給資料庫運維的兄弟資料庫運維
- AE入門教程及素材資料連結
- go 連線資料庫 - GORM學習 - sql查詢Go資料庫ORMSQL
- PHP基礎教程-16 字串連線運算子PHP字串
- 20160409 javaweb 資料庫連線池JavaWeb資料庫
- 第 67 期 Go database/sql 資料庫連線池分析GoDatabaseSQL資料庫
- Go實戰準備工作---建立資料庫連線池Go資料庫