理解
map是由一組無序的鍵key值value對集合的內建型別,可以通過鍵來獲取對應的值,map和slices一樣,也是引用型別
注意:map之間不能使用==操作符來判斷
建立map
語法:map[type of key]type of value
var mymap map[string]int //nil
此時map是零值,不允許向map向新增元素,我們需要使用make函式初始化map
mymap := make(map[string]int)
新增map元素
map新增元素的方法和陣列一致
mymap["car"] = 1
mymap["truck"] = 2
mymap["jeep"] = 3
也可以在初始化的時候就新增元素
mymap := map[string]int
刪除map元素
語法:delete(mapname, key),該函式沒有返回值
delete(mymap, "truck")
獲取map元素
與陣列一致
fmt.println(mymap["kitty"]) //10
map排序
map本身是雜湊表來實現的,所以是無序的,如果想要以鍵來對map排序,需要先提取key到slice中,再對slice排序,以下摘用大神們的**段舉例
func main()
var keys string
for k := range m
sort.strings(keys)
for _, k := range keys
}
以上就是關於go語言中map的一些基本理解和操作,之後會持續更新的~
感謝你的閱讀~
Go語言學習筆記 map
學習筆記根據 無聞 go語言基礎教程 整理 package main import fmt sort func main 普通建立方式 func test1 fmt.println m map 使用make關鍵字建立 func test2 直接宣告和賦值建立 func test3 使用更簡單的方式 ...
go語言學習筆記 map
go語言內建有map這種資料結構,它由無序的鍵值對組成,跟大部分語言中的map用法非常相似。它的鍵不能由可變型別 引用語義 的結構型別擔當,如切片 陣列 函式等等。map只有len,沒有cap。我們可以直接定義,或者通過make函式建立,通過make函式建立時,可以指定容量。package main...
Go語言學習筆記 map
map是雜湊表的引用,map的型別為map k v,k和v是字典的鍵和值對應的資料型別,map中所有的鍵都擁有相同的資料型別,同時所有的值都擁有相同的資料型別,但鍵的型別和值的型別不一定相同 鍵的型別k必須是可以通過操作符 來進行比較的資料型別,所以map可以檢測某乙個鍵是否已經存在 ages ma...