//基本結構,定義
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...