温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Go语言中map如何使用

发布时间:2021-06-23 16:13:51 来源:亿速云 阅读:175 作者:Leah 栏目:编程语言

Go语言中map如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

map 映射键到值:

map 在使用之前必须用 make 来创建(不是 new);一个值为 nil 的 map 是空的,并且不能赋值。

复制代码 代码如下:

package mainimport "fmt"type Vertex struct {    Lat, Long float64}var m map[string]Vertexfunc main() {    m = make(map[string]Vertex)    m["Bell Labs"] = Vertex{        40.68433, 74.39967,    }    fmt.Println(m["Bell Labs"])}

 
map 的文法跟结构体文法相似,不过键名是必须的。

package mainimport "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)}

 
如果顶层类型只有类型名的话,可以在文法的元素中省略键名。

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) }

 
修改map:

在 map m 中插入或修改一个元素:

m[key] = elem


获得元素:

复制代码 代码如下:

elem = m[key]


删除元素:

复制代码 代码如下:

delete(m, key)


通过双赋值检测某个键存在:

复制代码 代码如下:

elem, ok = m[key]


如果 key 在 m 中, ok 是 true。 否则,ok 是 false 并且 elem 是 map 的元素类型的零值。

同样的,当从 map 中读取某个不存在的键时,结果是 map 的元素类型的零值。

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语言中map如何使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI