Go语言中map如何使用

发布时间:2021-06-23 16:13:51 作者:Leah
来源:亿速云 阅读:160

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

推荐阅读:
  1. Go语言中映射表map的使用
  2. Go语言之map练习

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

go语言 map

上一篇:GO语言中Defer如何使用

下一篇:golang中websocket的实现原理是什么

相关阅读

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

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