首頁  >  文章  >  後端開發  >  golang如何建立map

golang如何建立map

尚
原創
2019-12-25 10:31:305291瀏覽

golang如何建立map

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn