加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Go语言map用法实例分析

发布时间:2020-12-16 19:33:11 所属栏目:大数据 来源:网络整理
导读:本篇章节讲解Go语言map用法。供大家参考研究。具体分析如下: map 映射键到值: map 在使用之前必须用 make 来创建(不是 new);一个值为 nil 的 map 是空的,并且不能赋值。 复制代码 代码如下: package main import "fmt" type Vertex struct { L

本篇章节讲解Go语言map用法。分享给大家供大家参考。具体分析如下:

map 映射键到值:

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

复制代码 代码如下:
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 的文法跟结构体文法相似,不过键名是必须的。
复制代码 代码如下:
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)
}

 
如果顶层类型只有类型名的话,可以在文法的元素中省略键名。
复制代码 代码如下:
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语言程序设计有所帮助。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读