Go語言基礎之map

2022-06-30 20:39:12 字數 1430 閱讀 5809

map是python中的dict型別。

目錄:map的宣告基本上沒有多餘的元素。

var mapname map[keytpye]valuetype
其中:

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

make(map[keytype]valuetype, [cap])
如果不使用make,則會丟擲異常。

package main

import "fmt"

func main()

// panic: assignment to entry in nil map

直接通過kv賦值

mamap["123"] = "value"
內建函式delete(),用於刪除容器內的元素。

delete(mymap, "123")
如果傳入的鍵不存在,則什麼情況也沒有,但是如果傳入的map變數的值是nil,該呼叫將導致程式丟擲異常panic

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

value, ok := map[key]

if ok

else

使用range關鍵字來迴圈遍歷。

func main() 

}

只想遍歷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的使用

package main

import "fmt"

type personinfo struct

func main()

persondb["2"] = personinfo

persondb["3"] = personinfo

person, ok := persondb["1"]

if ok else

}/* found person: 123 mir.r pub */

go語言基礎之map

go語言中提供的對映關係容器為map,其內部使用雜湊表hash實現 map map是一種無序的基於key value的資料結構,必須初始化才能使用 package main import fmt func main fmt.println map1 判斷某乙個值是否存在 返回兩個引數,1.返回的值 ...

Go語言基礎之map

go語言中提供的對映關係容器為map,其內部使用雜湊表 hash 實現。map是一種無序的基於key value的資料結構,go語言中的map是引用型別,必須初始化才能使用。go語言中map的定義語法如下 map keytype valuetype 其中,map型別的變數預設初始值為nil,需要使用...

Go語言基礎之map

go語言中提供的對映關係容器為map,其內部使用雜湊表 hash 實現。map是一種無序的基於key value的資料結構,go語言中的map是引用型別,必須初始化才能使用。go語言中map的定義語法如下 map keytype valuetype其中,map型別的變數預設初始值為nil,需要使用m...