Go语言学习笔记--map

  • map是引用类型
  • 声明格式:var map1 map[keytype]valuetype,例如:var map1 map[string][int]
  • key可以是任意可以用==或者!=操作符比较的类型,比如sting, int, float。所以数组、切片和结构体不能为key。指针和接口类型可以。
  • map初始化:
    • 用{key1: val1, key2: val2}描述方法初始化;
    • map是引用类型:内存用make来分配。map1 := make(map[keytype]valuetype)。相当于:mapCreated := map[string]float32{}
    • 不要使用new,永远使用make来构造map。
  • 用切片作为map的值:用于结局一个key对应多个值得情况。Map1 := make(map[int] []int)
  • 测试是否 存在key-value:val1, isPresent = map1[key]
  • 删除key:delete(map1, key1)
  • For-range的配套用法: for key, value := range map1{}
  • map类型的切片:必须使用两次make()函数
  • map排序:需要将key(value)拷贝到一个切片,在对切片排序。然后用for-range方法

猜你喜欢

转载自blog.csdn.net/cbmljs/article/details/82415563