映射 Map

映射 map

映射是存储一系列无序的key/value 对,通过key来对value 进行操作(增、删、改、查)。 映射的key 只能为可使用== 运算符的值类型(字符串、数字、布尔、数组),value可以为任意类型

1)声明

map 声明需要指定组成元素key 和value 的类型,在声明后,会被初始化为nil,表示暂不存在的映射

var names map[string]string
2)初始化
 a) 使用字面量初始化:map[key]vtype{k1:v1,k2,v2....}
 b) 使用字面量初始化空映射: map[ktype]vtype{}
 c) 使用make 函数初始化
第一种方式 字面量初始化
var names map[string]string = map[string]string{"Go3037": "陕西"}  //字面量

第二种方式 make 初始化
var scores = make(map[string]int) //make
3) 增删改查
var names map[string]string = map[string]string{"Go3037": "陕西"}
 //初始化,字面量
  fmt.Printf("%T %v\n", names, names)
 //kye 添加或者修改元素
  names["Go2004"] = "陕西西安"
  fmt.Println(names)

   names["Go3037"] = "北京"
   fmt.Println(names)
判断是否存在
names["Go001"] = ""
	fmt.Println(names["Go001"], names["Go002"])

	v, ok := names["Go001"]
	fmt.Println(v, ok)

	v, ok = names["Go002"]
	fmt.Println(v, ok
遍历
for k := range names {

		fmt.Println(k)
	}

	for k, v := range names {
		fmt.Println(k, v)
	}
删除
	delete(names, "Go2004")
	fmt.Println(names)
comments powered by Disqus