golang的map跟其他语言一样
一个键值对的数据结构
key和value
存储时给key,取出时也可以根据key取出相应的value
map基础概念
map内的数据是无序的
相同的key只能在一个map中出现一次
如果说插入的key相同那么其中的value将会进行替换
基础语法
初始化一个map
info := map[int]string{
110:"mike",
111:"yoyo",
112:"lily"
}
切片和函数是不能作为key的
以下是错误示范
dict := map[[]string]int{} //err
定义一个map的变量,并创建实例
//定义一个变量,类型为map[int]string
var m1 map[int]string
//通过make创建实例
m2 := make(map[int]string)
//也可以创建的时候指定最大容量
m3 := make(map[int]string,10)
给map赋值
m3 := make(map[int]string,10)
m3[1]="mike"
m3[2]="go"
在初始化的时候直接赋值
m4 := map[int]string{1:"mike",2:"go"}
如果说key相同,其中的value则会直接替换
m4 := map[int]string{1:"mike",2:"go"}
m4[2]="c++"
map的遍历
func main(){
m := map[int]string(1:"mike",2:"yoyo",3:"go")
//第一个返回值是key,第二个返回值是value,返回结果是无序的
for key,value := range m{
}
}
判断key是否存在
value,isExist := m[0]
if isExist == true {
println("exist")
} else{
println("is not exist")
}
删除指定key的键值对
func main(){
m := map[int]string(1:"mike",2:"yoyo",3:"go")
//删除key为1的键值对
delete(m,1)
}