GO学习笔记 - map

时间:2023-03-09 20:56:09
GO学习笔记 - map

map是GO语言中的一种高级数据类型,特点是key和value对应,这和Delphi中的Dictionary一样!map的声明格式:map[key数据类型]value数据类型。使用map前,必须用make来创建!

示例:

import "fmt"

func main() {

	/*
声明一个map,m是这个map的变量名。
map的key :[]中的参数就是这个map的key,类型为string。
map的value:最后面的int类型是这个map的value。
*/
var m map[string]int
//用make创建这个map
m = make(map[string]int) //添加key是“Answer”的元素,同时把它对应的values赋值为42
m["Answer"] = 42
fmt.Println("The value:", m["Answer"]) //修改key是“Answer”的value值为48
m["Answer"] = 48
fmt.Println("The value:", m["Answer"]) /*
检测key是“Answer”的元素是否存在,返回值为两个。
第一个:当前元素的value值,如果元素不存在则为0
第二个:是否当前元素存在的布尔值
*/
v1, ok1 := m["Answer"]
fmt.Println("The value:", v1, "Present?", ok1) //删除key是“Answer”的map元素
delete(m, "Answer")
fmt.Println("The value:", m["Answer"]) /*
检测key是“Answer”的元素是否存在,返回值为两个。
第一个:当前元素的value值,如果元素不存在则为0
第二个:是否当前元素存在的布尔值
*/
v2, ok2 := m["Answer"]
if ok2 == true {
fmt.Println("Answer exits")
} else {
fmt.Println("Answer not exits")
} fmt.Println("The value:", v2, "Present?", ok2)
}