标签:说明 存在 没有初始化 nil str 空间 自动 块存储 index
使用make()创建map
//声明map map是引用类型,默认零值是nil
//如果map不初始化就是nil,所以不能存储键值对
//没有初始化的map,也说明还没有指向一块存储区域,所以无法进行存储操作
var map_name map[key_data_type]value_data_type nil
//使用make函数创建
var map_name = make(map[key_data_type]value_data_type) 不是nil,但len==0
//字面量方式
map_name := map[string]float32{"c":1.2,"Go":3.4} 不是nil,len==2
各种类型的零值
int 0
float 0.0
string ""
array 数组中类型的零值
slice 引用类型 nil //切片一旦声明,就默认自动创建底层数组,所以不初始化也能使用
map 引用类型 nil //map不初始化,则没有底层空间
判断map是否初始化
var m1 map[int]int
if(m1 == nil){
//初始化
m1 = make(map[int]int)
}
存储键值对到map中
m1[1]="hello"
从map中取数据
m1[1] //正常取存在的key对应的值
m1[10] //key不存时,获取到的值是类型的零值
value,ok := m1[10] //通过ok的返回值(布尔型)可以判断是否有值
修改map中的数据
m1[1]="world"
删除map中的数据
func delete(m map[Type]Type1, key Type)
//若m为nil或无此元素,delete不进行操作。
遍历map
使用for range
数组,切片: index,value
map: key,value
排序
sort包
func Ints(a []int)
//Ints函数将a排序为递增顺序
func Strings(a []string)
//Strings函数将a排序为递增顺序
map与slice结合使用
var slice1 = make([]map[string]string,0,3)
//切片中存放map
类型
map[key_type]value_type
引用类型
存储地址
标签:说明 存在 没有初始化 nil str 空间 自动 块存储 index
原文地址:https://www.cnblogs.com/henryno12/p/12411194.html