map
什么是map?
map是一种无序的基于key-value的数据结构,Go语言中map是引用类型,必须初始化才能使用
map的定义语法如下:
map[KeyType]ValueType
其中,KeyType表示键的类型,ValueType表示值的类型
map类型的变量默认初始值为nil,需要使用make函数来分配内存,语法为
make:用于slice,map,channel的初始化
map的创建
1. make创建一个map var userinfo = make(map[string]string) userinfo["name"] = "周田田" userinfo["address"] = "河北邢台" fmt.Println(userinfo)
2.map也支持在声明的时候填充元素,注意,最后一个元素也要加, var userinfo = map[string]string{ "name": "zhangsan", "sex": "男", } fmt.Println(userinfo)
3. 短声明的方式 userinfo := map[string]string{ "name": "张三", "sex": "男", } fmt.Println(userinfo)
遍历map类型的数据
userinfo := map[string]string{ "name": "zhangsan", "age": "12", "sex": "男", } for k, v := range userinfo { fmt.Println(k, v) }
map类型的更新
userinfo := map[string]string{ "name": "张三", "sex": "男", "address": "北京", } userinfo["name"] = "马六" fmt.Println(userinfo["name"])
map类型的查询
map类型的查询 userinfo := map[string]string{ "name": "lifuqiang", "sex": "男", } v, ok := userinfo["name"] fmt.Println(v, ok) v1, ok1 := userinfo["name2"] fmt.Println(v1, ok1)
map类型的删除
删除 使用delete()函数删除键值对 ,格式如下 delete(map对象,key) map对象:表示要删除的键值对的 对象 key:表示要删除的键值对的key userinfo := map[string]string{ "name": "lifuqinag", "sex": "男", } 删除sex键 delete(userinfo, "sex") fmt.Println(userinfo)