千家信息网

Go语言中的map怎么使用

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍"Go语言中的map怎么使用",在日常操作中,相信很多人在Go语言中的map怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Go语言中的map怎么
千家信息网最后更新 2025年02月02日Go语言中的map怎么使用

这篇文章主要介绍"Go语言中的map怎么使用",在日常操作中,相信很多人在Go语言中的map怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"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 mainimport "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 mainimport "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怎么使用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0