ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Map(没有写底层)

2019-08-19 23:51:23  阅读:207  来源: 互联网

标签:返回 Map map 没有 key1 value map1 key 底层


键值(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是可以用== != 操作符比较的类型,比如string\int\float
所以数组、结构体不能作为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进行排序

 

标签:返回,Map,map,没有,key1,value,map1,key,底层
来源: https://www.cnblogs.com/mcmx/p/11380573.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有