Go语言--集合(Map)详解

善姐
• 阅读 1919

Go语言--集合(Map)详解

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

说明

Map 是一种无序的键值对的集合。

Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。

Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的

定义Map

1、使用make函数创建

map_variable := make(map[key_data_type]value_data_type)
//例如
map1 := make(map([int]int)

2、使用map关键字创建

var map_variable map[key_data_type]value_data_type
//例如
var map1 map[int]int

注意如果不初始化 map,那么就会创建一个 nil map。nil map 不能用来存放键值对

创建和使用

package main

import "fmt"

func main(){
    //创建集合
    var map1 map[string]string
    map1 = make(map[string]string)

    map1["name"] = "小明"
    map1["account"] = "admin"
    map1["password"] = "123456"

    //使用键输出map值
    for i := range map1{
        fmt.Println(i,"是",map1[i])
    }

    //查看元素在集合中是否存在
    capital,ok := map1 ["status"]
    if(ok){
        fmt.Println("status 是",capital)
    }else{
        fmt.Println("status 不存在")
    }
}

Go语言--集合(Map)详解

delete() 函数

delete() 函数用于删除集合的元素, 参数为 map 和其对应的 key

delete(countryCapitalMap, key)

感谢

菜鸟教程

万能的网络

以及勤劳的自己

点赞
收藏
评论区
推荐文章
东方客主 东方客主
4年前
go-map源码简单分析(map遍历为什么时随机的)
GO中map的底层是如何实现的首先Go语言采用的是哈希查找表,并且使用链表解决哈希冲突。GO的内存模型先看这一张map原理图(https://imghelloworld.osscnbeijing.aliyuncs.com/49dfa7b81e19fbab143ddc0a7b3b7fa0.png)map再来看
happlyfox happlyfox
4年前
[concurrent-map]-并发map在go中的使用
关于我通过学习和分享的过程,将自己工作中的问题和技术总结输出,希望菜鸟和老鸟都能通过自己的文章收获新的知识,并付诸实施。引言Go语言原生的map类型并不支持并发读写。在Go1.9之前,go语言标准库中并没有实现并发map。在Go1.9中,引入了sync.Map。concurrentmap的优势concurrentm
zdd小小菜鸟 zdd小小菜鸟
2年前
Java基础面试
Java基础面试1.Java集合类的总结tex1、Iterator:Collection(值)、Map(键值对);2、Collection:Set(无序不重复)、List(有序可重复)、Queue;3、Set:H
Wesley13 Wesley13
3年前
CTF
CTFPwn\BJDCTF2nd\r2t4博客说明文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与交流,不得用于非法用途!CTP平台网址https://buuoj.cn/cha
Wesley13 Wesley13
3年前
Java(20~24)
1、Collection中的集合称为单列集合,Map中的集合称为双列集合(键值对集合)。!(https://oscimg.oschina.net/oscnet/adbdd980af28370d467fc2170913eecc89e.png)2、Map常用方法:map.put()  map.get()  map.remove()  map.k
Stella981 Stella981
3年前
ListView+RecyclerView缓存类的封装
publicclassBaseViewHolerextendsRecyclerView.ViewHolder{privateContextcontext;//行布局的viewprivateViewmView;//用来装载id的集合用法和map类似
Wesley13 Wesley13
3年前
Java中的Map集合
Map接口简介Map接口是一种双列集合,它的每个元素都包含一个键对象Key和值对象Value,键和值对象之间存在一种对应关系,称为映射。从Map集合中访问元素时,只要指定了Key,就能找到对应的Value,Map中的键必须是唯一的,不能重复,如果存储了相同的键,后存储的值会覆盖原有的值,简而言之就是键相同,值覆盖。Map常用
Wesley13 Wesley13
3年前
Java核心(四)你不知道的数据集合
!数据容器关系图(http://icdn.apigo.cn/blog/collection002.png)导读:Map竟然不属于Java集合框架的子集?队列也和List一样属于集合的三大子集之一?更有队列的正确使用姿势,一起来看吧!Java中的集合通常指的是Collection下的三个集合框架List、Set、Queue和Map集合,Map并不
Stella981 Stella981
3年前
Electron整合React使用搭建开发环境
Electron整合React使用搭建开发环境博客说明文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!简介用于构建用户界面的JavaScript库步骤首先创建React
Stella981 Stella981
3年前
Go语言基础之map补充
点击上方“Go语言进阶学习”,进行关注回复“Go语言”即可获赠Python从入门到进阶共10本电子书今日鸡汤长相思,摧心肝!前言Hey,大家好,我是星期八,咱们接着上次继续说,补充一些map的知识。上节回顾在上节,我们学习了map如何使用。map有两种方式定义,一种是标准
Wesley13 Wesley13
3年前
Java集合及concurrent并发包总结(转)
<divid"cnblogs\_post\_body"class"blogpostbody"<p<strong1.集合包</strong</p<p&nbsp;&nbsp;集合包最常用的有Collection和Map两个接口的实现类,Colleciton用于存放多个单对象,Map用于存放KeyValue形式的键值对。</p<p