• 技术文章 >后端开发 >Golang

    go语言中map可以定义长度吗

    青灯夜游青灯夜游2021-06-04 17:45:37原创84

    go语言中map可以定义长度。map可以根据新增的key-value动态的伸缩,因此它不存在固定长度或者最大限制,但是也可以选择标明map的初始容量cap,语法“make(map[keytype]valuetype, cap)”。

    本教程操作环境:windows10系统、GO 1.11.2、Dell G3电脑。

    Go语言中 map 是一种特殊的数据结构,一种元素对(pair)的无序集合,pair 对应一个 key(索引)和一个 value(值),所以这个结构也称为关联数组或字典,这是一种能够快速寻找值的理想结构,给定 key,就可以迅速找到对应的 value。

    map 这种数据结构在其他编程语言中也称为字典(Python)、hash 和 HashTable 等。

    map 容量

    和数组不同,map 可以根据新增的 key-value 动态的伸缩,因此它不存在固定长度或者最大限制,但是也可以选择标明 map 的初始容量 capacity,格式如下:

    make(map[keytype]valuetype, cap)

    例如:

    map2 := make(map[string]float, 100)

    当 map 增长到容量上限的时候,如果再增加新的 key-value,map 的大小会自动加 1,所以出于性能的考虑,对于大的 map 或者会快速扩张的 map,即使只是大概知道容量,也最好先标明。

    这里有一个 map 的具体例子,即将音阶和对应的音频映射起来:

    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}

    推荐学习:Golang教程

    以上就是go语言中map可以定义长度吗的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:go语言 map
    上一篇:go语言进行数组比较的方法是什么 下一篇:go语言编译快吗
    第16期线上培训班

    相关文章推荐

    • go语言怎么将int转为字符串类型• 用go语言怎么实现字符串比较• go语言中字符串怎么逐个取出• go语言怎么将字符串转换成浮点数• go语言中while是关键字吗

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网