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...