源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Go语言map用法实例分析

  • 时间:2021-01-04 16:10 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Go语言map用法实例分析
本文实例讲述了Go语言map用法。分享给大家供大家参考。具体分析如下: [b]map 映射键到值:[/b] map 在使用之前必须用 make 来创建(不是 new);一个值为 nil 的 map 是空的,并且不能赋值。
[u]复制代码[/u] 代码如下:
package main import "fmt" type Vertex struct {     Lat, Long float64 } var m map[string]Vertex func main() {     m = make(map[string]Vertex)     m["Bell Labs"] = Vertex{         40.68433, 74.39967,     }     fmt.Println(m["Bell Labs"]) }
  map 的文法跟结构体文法相似,不过键名是必须的。
[u]复制代码[/u] 代码如下:
package main import "fmt" type Vertex struct {     Lat, Long float64 } var m = map[string]Vertex{     "Bell Labs": Vertex{         40.68433, -74.39967,     },     "Google": Vertex{         37.42202, -122.08408,     }, } func main() {     fmt.Println(m) }
  如果顶层类型只有类型名的话,可以在文法的元素中省略键名。
[u]复制代码[/u] 代码如下:
package main import "fmt" type Vertex struct {     Lat, Long float64 } var m = map[string]Vertex{     "Bell Labs": {40.68433, -74.39967},     "Google":    {37.42202, -122.08408}, } func main() {     fmt.Println(m) }
  [b]修改map:[/b] 在 map m 中插入或修改一个元素:
[u]复制代码[/u] 代码如下:
m[key] = elem
获得元素:
[u]复制代码[/u] 代码如下:
elem = m[key]
删除元素:
[u]复制代码[/u] 代码如下:
delete(m, key)
通过双赋值检测某个键存在:
[u]复制代码[/u] 代码如下:
elem, ok = m[key]
如果 key 在 m 中, ok 是 true。 否则,ok 是 false 并且 elem 是 map 的元素类型的零值。 同样的,当从 map 中读取某个不存在的键时,结果是 map 的元素类型的零值。
[u]复制代码[/u] 代码如下:
package main import "fmt" func main() {     m := make(map[string]int)     m["Answer"] = 42     fmt.Println("The value:", m["Answer"])     m["Answer"] = 48     fmt.Println("The value:", m["Answer"])     delete(m, "Answer")     fmt.Println("The value:", m["Answer"])     v, ok := m["Answer"]     fmt.Println("The value:", v, "Present?", ok) }
希望本文所述对大家的Go语言程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部