标签:获取值 bool append array lock false 冒泡排序 make code
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) }
标签:获取值 bool append array lock false 冒泡排序 make code
原文地址:https://www.cnblogs.com/pymkl/p/10057575.html