GO學習筆記 對映 map

2021-10-02 12:15:37 字數 2439 閱讀 4474

go語言中提供的對映關係容器為map,其內部使用雜湊表(hash)實現。

go語言中 map的定義語法如下:

map

[keytype]valuetype

其中,

map型別的變數預設初始值為nil,需要使用make()函式來分配記憶體。語法為:

make

(map

[keytype]valuetype,

[cap

])

其中cap表示map的容量,該引數雖然不是必須的,但是我們應該在初始化map的時候就為其指定乙個合適的容量。

map中的資料都是成對出現的,map的基本使用示例**如下:

func

main()

輸出:

map

[小明:

100 張三:90]

100type of a:

map[

string

]int

map也支援在宣告的時候填充元素,例如:

func

main()

fmt.

println

(userinfo)

//}

go語言中有個判斷map中鍵是否存在的特殊寫法,格式如下:

value, ok :=

map[key]

舉個例子:

func

main()

else

}

go語言中使用for range遍歷map。

func

main()

}

但我們只想遍歷key的時候,可以按下面的寫法:

func

main()

}

注意:遍歷map時的元素順序與新增鍵值對的順序無關。

使用delete()內建函式從map中刪除一組鍵值對,delete()函式的格式如下:

delete

(map

, key)

其中,

func

main()

}

func

main()

//取出map中的所有key存入切片keys

var keys =

make([

]string,0

,200

)for key :=

range scoremap

//對切片進行排序

sort.

strings

(keys)

//按照排序後的key遍歷map

for_

, key :=

range keys

}

下面的**演示了切片中的元素為map型別時的操作:

func

main()

fmt.

println

("after init"

)// 對切片中的map元素進行初始化

mapslice[0]

=make

(map

[string

]string,10

) mapslice[0]

["name"]=

"小王子"

mapslice[0]

["password"]=

"123456"

mapslice[0]

["address"]=

"上海"

for index, value :=

range mapslice

}

下面的**演示了map中值為切片型別的操作:

func

main()

value =

(value,

"北京"

,"上海"

) slicemap[key]

= value

fmt.

println

(slicemap)

}

go語言學習 對映map

go語言中的map 對映 字典 是一種內建的資料結構,它是乙個無序的key value對的集合。go語言中的map是引用型別,必須初始化才能使用。一 map的定義和初始化 go語言中map宣告的語法 var m map keytype valuetype 其中 keytype 鍵key的型別 val...

GO學習筆記之 map

map是 key value 資料結構,又稱為字段或者關聯陣列。類似其他程式語言的集合 在程式設計中經常使用。基本語法 map是無序的 var map變數名 map keytype valuetype key可以是什麼型別 golang中的 map,的 key可以是很多種型別,比如 bool 數字,...

GO語言對映(Map)用法分析

對映是一種內建的資料結構,用來儲存鍵值對的無序集合。1 對映的建立 make map keytype valuetype,initialcapacity make map keytype valuetype map keytype valuetype map keytype valuetype 如下...