• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Go语言map用法示范代码

go 水墨上仙 1505次浏览

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&nbsp的文法跟结构体文法相似,不过键名是必须的。

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:
在&nbspmap&nbspm&nbsp中插入或修改一个元素:

m[key]&nbsp=&nbspelem
获得元素:

elem&nbsp=&nbspm[key]
删除元素:

delete(m,&nbspkey)
通过双赋值检测某个键存在:

elem,&nbspok&nbsp=&nbspm[key]
如果&nbspkey&nbsp在&nbspm&nbsp中,&nbspok&nbsp是&nbsptrue。&nbsp否则,ok&nbsp是&nbspfalse&nbsp并且&nbspelem&nbsp是&nbspmap&nbsp的元素类型的零值。

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

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用法示范代码
喜欢 (0)
加载中……