1. 程式人生 > >Map | Go語言基礎

Map | Go語言基礎

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語言基礎