無序的基於key-value的資料結構;內部使用雜湊表(hash)實現
var m1 map
[string
]int
//沒有初始化(沒有在記憶體中開闢空間)
m1 =
make
(map
[string
]int,10
)//要估算好該map容量,避免在程式執行中再動態擴容
m1["tiezhu"]=
12m1[
"tiedan"]=
3000
fmt.
println
(m1[
"tiezhu"])
fmt.
println
(m1[
"gaiya"])
//如果不存在這個key就拿到對應型別的零值
//用ok來接受返回的布林型資料
value, ok := m1[
"gaiya"]if
!ok
else
//遍歷
for k, v :=
range m1
//刪除
delete
(m1,
"tiezhu"
)fmt.
println
(m1)
/*map和slice 組合*/
//元素型別為map的切片
var s1 =
make([
]map
[int
]string,10
,10)//需要對內部的map做初始化
s1[0]=
make
(map
[int
]string,1
)fmt.
println
(s1)
s1[0][
01]="tiezhu"
fmt.
println
(s1)
//值為切片型別的map
sm1 :=
make
(map
[string][
]int,2
)sm1[
"tiezhu"]=
intfmt.
println
(sm1)
/*map和struct組合*/
//---------------------------
//重點:map中的結構體無法直接定址,必須取地
//---------------------------
ma :=
map[
string]*s
}ma[
"x"]
.name =
"two"
fmt.
println
(ma)
Go基礎學習之map
二 map基本使用 三 更多 總結最開始學習go語言時,非常粗糙的過了一遍知識點,對很多內容都不了解。為了將基礎知識打牢,故此在不斷複習的同時回顧整理go語言的基礎,誕生了此系列文章。文章為個人學習筆記,如有錯誤,敬請指正,感激不盡。map是一種無序的基於key value的資料結構,是對映關係容器...
GO學習 11 Go語言基礎之map
go語言中提供的對映關係容器為map,其內部使用雜湊表 hash 實現。map是一種無序的基於key value的資料結構,go語言中的map是引用型別,必須初始化才能使用。go語言中map的定義語法如下 map keytype valuetype其中,map型別的變數預設初始值為nil,需要使用m...
Go語言基礎(十一)Map
map 是一種無序的鍵值對的集合。map 最重要的一點是通過 key 來快速檢索資料,key 類似於索引,指向資料的值。map 是一種集合,所以我們可以像迭代陣列和切片那樣迭代它。不過,map 是無序的,我們無法決定它的返回順序,這是因為 map 是使用 hash 表來實現的。func main m...