什么是go语言的map
map是go语言中的一种数据类型,可以实现键值对之间的映射关系存储,在其他编程语言中也称为字典或关联数组。map内部使用散列表(hash table)实现,具有高速的查找、插入、删除等操作,并且可以根据需要动态扩容或缩容。
map的基本用法
在go语言中,与数组和切片不同的是,map不需要指定大小,可以直接使用make函数创建。map的key可以是任意可比较类型,如整型、浮点型、字符串、指针类型、结构体等,value可以是任意类型。在map中增加元素可以使用以下代码:
//创建一个int类型为key,string类型为value的map
m:=make(map[int]string)
//添加元素
m[1]="one"
m[2]="two"
//也可以使用多重赋值方式添加元素
m3:=map[string] int{"apple":3, "banana":4}
m["orange"]=5
//修改元素
m[2]="three"
//删除元素
delete(m,2)
注意,使用delete函数删除的元素会永久从map中删除,使用len函数可以获取map中key-value对的数量。
迭代map
在go语言中,可以使用for-range方式迭代map中的元素,如下所示:
//遍历所有key-value对
for k,v := range m {
fmt.println(k,v)
}
//遍历所有key
for k := range m {
fmt.println(k)
}
//遍历所有value
for _, v := range m {
fmt.println(v)
}
需要注意的是,迭代遍历map时元素的顺序是无序的,每次迭代遍历结果可能不同。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/golang-00m44.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及捕鱼10元起上10元下的版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的捕鱼10元起上10元下的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!