笔记 - map

  • map的定义
    map 是Go中的内置类型,它将一个值与一个键关联起来。可以使用相应的键检索值。
    Map 是一种无须的键值对的集合,Map最重要的一点是通过key来快速检索数据,key类似于索引, 指向数据的值。我们无法决定它的返回顺序,这是因为Map是使用Hash表来实现的,也是引用类型
    使用Map注意的几点:

    1. map是无序的,每次打印出来的map都会不一样,它不能通过index获取,必须通过key获取
    2. map的长度是不固定的,也就是和slice一样,也是一种引用类型
    3. 内置的len函数同样适用map,返回map拥有key的数量
    4. map 的key可以是所有可比较的类型,如:bool、整数型、浮点型、复杂型、字符串型…
  • map的使用

    // 声明
    var map1 map[int]string       // 没有初始化, nil的map 【不能再次赋值】
    var map2 = make(map[int]string)  // 创建  不为nil
    var map3 = map[string]int{"Go":98, "Java":70} // 不为nil
    // 每中数据类型:
    //  int:0 float:0 string:"" array: [0000]\
    // slice nil
    // map nil
    map1[1] = "hello" // error
    fmt.Println(map1 ==nil)
    fmt.Println(map2 ==nil)
    fmt.Println(map3 ==nil)
    // 3、存储键值对到map中
    map1[1] = "helo"
    map1[2] = "world"
    map1[3] = "meta"
    map1[4] = "wang"
    map1[5] = "xiao"
    fmt.Println(map1) //无序的
    fmt.Println(map[4]) // wang
    fmt.Println(map[40]) // "" 取的是默认值
    value, ok := map[key] // 该key值是否存在
    // 修改数据
    map1[3] = "修改"
    // 删除数据 根据key 删除
    delete(map1, 3)
    fmt.Println(map1) //无序的
    len(map1)
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!