当前位置: 移动技术网 > IT编程>脚本编程>Go语言 > Go语言map用法实例分析

Go语言map用法实例分析

2017年12月08日  | 移动技术网IT编程  | 我要评论

本文实例讲述了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语言程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网