map是一堆鍵值對的未排序集合,類似Python中字典的概念,它的格式為map[keyType]valueType,是一個key-value的hash結構。 map的讀取和設定也類似slice一樣,透過key來操作,只是slice的index只能是int類型,而map多了很多類型,可以是int,可以是string及所有完全定義了==與!=操作的類型。
宣告map的語法如下:
var map变量名 map[key] value
其中:key為鍵類型,value為值型別
例如:value不只可以是標註資料類型,也可以是自定義資料類型
var numbers map[string] int var myMap map[string] personInfo
personInfo為自訂結構體,儲存個人資訊,定義如下
type personInfo struct { ID string Name string Address string }
map初始化:
1、直接初始化(建立)
rating := map[string] float32 {"C":5, "Go":4.5, "Python":4.5, "C++":2 } myMap := map[string] personInfo{"1234": personInfo{"1", "Jack", "Room 101,..."},}
2、透過make初始化(建立)
Go語言提供的內建函數make()可以用來靈活地建立map。
建立了一個鍵類型為string,值類型為int的map
numbers := make(map[string] int)
建立了一個鍵類型為string,值類型為personInfo的map
myMap = make(map[string] personInfo)
也可以選擇是否在建立時指定該map的初始儲存能力,如建立了一個初始儲存能力為5的map
myMap = make(map[string] personInfo, 5)
建立後初始化如下:
numbers["one"] = 1 myMap["1234"] = personInfo{"1", "Jack", "Room 101,..."}
更多golang知識請關注golang教程專欄。
以上是golang如何建立map的詳細內容。更多資訊請關注PHP中文網其他相關文章!