zoukankan      html  css  js  c++  java
  • Map(没有写底层)

    键值(KV)存储结构

    声明
    var map1 map[keyType]valueType
    map是动态增长的。
    未初始化的map的值是nil

    初始化
    map1 = make(map[keytype]valuetype)
    map1 = make(map[keytype]valuetype,cap)
    noteFrequency := map[string]float32 {
    "C0": 16.35, "D0": 18.35, "E0": 20.60, "F0": 21.83,
    "G0": 24.50, "A0": 27.50, "B0": 30.87, "A4": 440}
    不用用new,用new只会返回一个指向nil的指针。

    key是可以用== != 操作符比较的类型,比如stringintfloat
    所以数组、结构体不能作为key,(只包含内建类型的struct是可以作为key的)
    指针和接口可以作为key,如果要结构体作为key需要提供key()和hash()方法。

    value可以是任意类型的


    val1,isPresent = map1[key1]
    返回value和一个布尔值,当包含此kv时,为v的值和true,不存在v时返回的是对应的零值和false
    存值map1[key1] = value1
    返回KV数目 len(map1)

    从map1中删除key1
    delete(map1,key1)

    for key, value := range map1 {
    ...
    }

    排序sort包
    sort.Ints( num []int)
    对num进行排序

  • 相关阅读:
    17.07.28 SQL 函数
    JavaScript 数组去重
    JavaScript 之 DOM
    JavaScript 之 BOM
    JavaScript之Math
    JavaScript之String
    JavaScript之数组
    JavaScript之作用域
    JavaScript之函数
    JavaScript之循环
  • 原文地址:https://www.cnblogs.com/mcmx/p/11380573.html
Copyright © 2011-2022 走看看