Go语言map用法实例分析
本文实例讲述了Go语言map用法。分享给大家供大家参考。具体分析如下:
map映射键到值:
map在使用之前必须用make来创建(不是new);一个值为nil的map是空的,并且不能赋值。
packagemain
import"fmt"
typeVertexstruct{
Lat,Longfloat64
}
varmmap[string]Vertex
funcmain(){
m=make(map[string]Vertex)
m["BellLabs"]=Vertex{
40.68433,74.39967,
}
fmt.Println(m["BellLabs"])
}map的文法跟结构体文法相似,不过键名是必须的。
packagemain
import"fmt"
typeVertexstruct{
Lat,Longfloat64
}
varm=map[string]Vertex{
"BellLabs":Vertex{
40.68433,-74.39967,
},
"Google":Vertex{
37.42202,-122.08408,
},
}
funcmain(){
fmt.Println(m)
}如果顶层类型只有类型名的话,可以在文法的元素中省略键名。
packagemain
import"fmt"
typeVertexstruct{
Lat,Longfloat64
}
varm=map[string]Vertex{
"BellLabs":{40.68433,-74.39967},
"Google": {37.42202,-122.08408},
}
funcmain(){
fmt.Println(m)
}修改map:
在mapm中插入或修改一个元素:
m[key]=elem
获得元素:
elem=m[key]
删除元素:
delete(m,key)
通过双赋值检测某个键存在:
elem,ok=m[key]
如果key在m中,ok是true。否则,ok是false并且elem是map的元素类型的零值。
同样的,当从map中读取某个不存在的键时,结果是map的元素类型的零值。
packagemain
import"fmt"
funcmain(){
m:=make(map[string]int)
m["Answer"]=42
fmt.Println("Thevalue:",m["Answer"])
m["Answer"]=48
fmt.Println("Thevalue:",m["Answer"])
delete(m,"Answer")
fmt.Println("Thevalue:",m["Answer"])
v,ok:=m["Answer"]
fmt.Println("Thevalue:",v,"Present?",ok)
}
希望本文所述对大家的Go语言程序设计有所帮助。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下