Map | Go語言基礎
阿新 • • 發佈:2018-12-03
val bool main 特點 使用 inter map 存儲 鍵值對
package main // 當前包聲明 func main() { // 程序的入口 // map // 創建map(make創建的都是引用類型) var tempMap map[int] string // key類型,value類型 var tempMap = map[string]int{"go":98, "python":68, "java":89} fmt.Println(tempMap) var tempMap = make(map[int]string) tempMap[1] = "hello" tempMap[2] = "world" fmt.Println(tempMap)// 如果不初始化創建map,就會創建一個nil map,不能來存放鍵值對.通常使用make()創建容器,再去操作. var tempMap = map[int]int{1: 2, 2: 4, 3: 6} tempMap[1] = "hello" fmt.Println(tempMap) if tempMap == nil{ tempMap = make(map[int]string) fmt.Println(tempMap==nil) } // 取值 // 通key來獲取值,如果不存在就獲取該value的默認值.value, ok := tempMap[1] // 返回value與ok-idiom表示是否存在key. fmt.Println(value, ok) //0 false // 遍歷map for k, v := range tempMap { fmt.Println(k, v) } // 有序遍歷map // 將所有key取出排序,遍歷key,獲取value // 冒泡排序 tempKeys := make([]int, 0, len(tempMap)) for k := range tempMap { tempKeys= append(tempKeys, k) } sort.Ints(tempKeys) fmt.Println(tempKeys) // 如果key是字符串sort.Strings() // map的數據類型 %T // 1.數據類型 // 基本數據類型:int,float,string,bool // 復合數據類型:array, slice, map, function,struct, interface // 2.存儲特點 // 值類型:int,float,string,bool,array,struct // 引用類型: slice,map // map刪除(delete: map,key) delete(tempMap, 1) fmt.Println(tempMap) // 將map存儲在slice中 tempSlice:=make([] map[int]int,0,3) tempSlice = append(tempSlice, tempMap) fmt.Println(tempSlice) }
Map | Go語言基礎