筆記 go語言 Map

2022-09-19 07:15:07 字數 951 閱讀 2565

//基本結構,定義

m := map[string] string

map[k]v, map[k1]map[k2]v //復合map

map類似php陣列鍵為字元的形態

建立: make(map[string]int)

獲取元素: m[key]

key不存在時,獲取value型別的初始值

用value,ok := m[key]來判斷是否存在key

用delete刪除乙個key

map的遍歷,可以使用range遍歷,或者遍歷key,value對

但是6中的方法不保證順序,要保證順序的話需要手動對key排序

使用len獲取元素個數

casename,ok=map['key'] ok可以判斷值存在不存在

map的key的注意事項

map使用的是雜湊表,必須可以比較相等

除了slice,map,function的內建型別,其他的都可以作為key(string/int等等)

struct型別不包含上述字段,也可以作為key

//尋找最長不重複字串

func lengthofnonrepeatingsubstr(s string) int

if i - start + 1 > maxlength

lastoccurred[ch]= i

} return maxlength

}

Go語言學習筆記 map

學習筆記根據 無聞 go語言基礎教程 整理 package main import fmt sort func main 普通建立方式 func test1 fmt.println m map 使用make關鍵字建立 func test2 直接宣告和賦值建立 func test3 使用更簡單的方式 ...

go語言學習筆記 map

理解 map是由一組無序的鍵key值value對集合的內建型別,可以通過鍵來獲取對應的值,map和slices一樣,也是引用型別 注意 map之間不能使用 操作符來判斷 建立map 語法 map type of key type of value var mymap map string int n...

go語言學習筆記 map

go語言內建有map這種資料結構,它由無序的鍵值對組成,跟大部分語言中的map用法非常相似。它的鍵不能由可變型別 引用語義 的結構型別擔當,如切片 陣列 函式等等。map只有len,沒有cap。我們可以直接定義,或者通過make函式建立,通過make函式建立時,可以指定容量。package main...