• map 的基本介绍
    • map 是 key-value 数据结构,又称为字段或者关联数组。类似其它编程语言的集合,
  • 基本语法
    • var map 变量名  map[keytype]valuetype
  • key 可以是什么类型
    • golang 中的 map,的 key 可以是很多种类型,比如 bool, 数字,string, 指针, channel , 还可以是只包含前面几个类型的 接口, 结构体, 数组
    • 通常 key 为 int 、string
    • 注意:
      • slice, map 还有 function 不可以,因为这几个没法用 == 来判断
  • valuetype 可以是什么类型
    • valuetype 的类型和 key 基本一样
    • 通常为: 数字(整数,浮点数),string,,map,struct

  • map 声明的举例:
    • var a map[string]string
    • var a map[string]int
    • var a map[int]string
    • var a map[string]map[string]string
  • 注意声明是不会分配内存的,初始化需要 make ,分配内存后才能赋值和使用

  • 案例演示:
//map的声明和注意事项 
var a map[string]string
//在使用map前,需要先make , make的作用就是给map分配数据空间
a = make(map[string]string, 10)
a["no1"] = "宋江" //ok?
a["no2"] = "吴用" //ok?
a["no1"] = "武松" //ok?
a["no3"] = "吴用" //ok?
fmt.Println(a)
  • 输出结果:
  • 对上面代码的说明
    • map 在使用前一定要 make
    • map 的 key 是不能重复如果重复了,则以最后这个 key-value 为准
    • map 的 value 是可以相同的. 
    • map 的 key-value 是无序
    • make 内置函数数目