Go基礎學習 map

2021-10-08 03:52:23 字數 1453 閱讀 2010

無序的基於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...