Go 语言浅尝 Map

栏目: IT技术 · 发布时间: 4年前

Go 语言浅尝 Map

Hello,各位小伙伴,大家好,我是小栈君,9012年很快就过去了,接下来的2200年,小栈君依旧会一如既往的分享各种It知识。

不仅作为自我的一个总结,更希望大家能够在此基础上得到一些提升,相互努力,争取不断更。

[Ps:最近断更确实不是故意的,公司的事情太忙了,差一丢丢就到了996了! 各位还在加班的小伙伴,一定要注意身体,不要进ICU了哦。 ]

闲话不多聊,我们今天分享的主题是关于 go 语言中的Map。 首先对于有过编程基础的小伙伴来讲,对于Map而言并不陌生,因为总结起来,Map就是一个Key和value的键值对。 用来进行操作和存储数值和对象的存在。

Map 含义

实际上而言百度百科中对于Map的简介上也明确说明Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可称为该关键字的值)的数据处理能力。

由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。

现在翻译一下就是Map就是key-value的数据结构,一个key对应一个value,这个value可以是数字,对象,甚至数组,它又称作为字典或是关联数组。

Map定义

针对于各个语言对于Map的定义可能会不一样,然而在 Python 中Map可能不太一样,在Python中Map是一个内置的高阶函数,在后续的“人生苦短,我用Python系列”会给大家 详细的分享相关信息。

对于 java 中不能直接定义Map,因为Map是一个接口,里面内置类很多方法。

Go 语言浅尝 Map

Go 语言浅尝 Map

我们常用的HashMap 就实现了Map这个接口,并实现了序列化接口。 当然这里暂时不讨论相关内容。 所以在java中我们想要定义个Map,我们一般实现的方式就是用

定义一个key为字符串,value为对象的Map,并且初始化容量为5。

在go语言中,定义Map的方式和我们定义常量的方式类似,他的定义格式是

var 名称 map[key类型] value类型。

Go 语言浅尝 Map

但是值得注意的一点是,在这里我们只是进行定义,在这里在go语言中并没有分配内存空间,当然想要使用的话,是需要分配空间,进行make操作。

Go 语言浅尝 Map

Map的相关操作

针对于map集合我们常用的方式有增删改查和遍历

Go 语言浅尝 Map

首先我们先进行集合的增加,增加相应的元素。

Go 语言浅尝 Map

这里小栈君也专门进行了一丢丢的测试,在go语言中是大小写敏感的。

增加的元素如果我们需要修改怎么办? 其实和增加类似,只是说你需要将key值设置为需要变更的那个即可。

Go 语言浅尝 Map

如图所示,我们改变map当中的值就是这么简单。

当然,针对于map的查找也是简单。

Go 语言浅尝 Map

一般来讲,我们会一个OK,一个值,这是相当建议大家写的,如果没有写的情况下,我们查询一个没有的值会出现怎样的情况呢?

返回的是一个空的字符串。

Go 语言浅尝 Map

讲了增改和查,我们讲讲一关于map的遍历和删除,同样的我们依旧可以用range来进行遍历map集合。 之前讲过用for和range遍历list。

Go 语言浅尝 Map

删除方法

Go 语言浅尝 Map

针对于map的删除方法,提供了内置函数进行删除。

Go 语言浅尝 Map

当然在map中还提供了很多内置函数,比如说我们需要知道map的容量,我们就可以使用len方法,当然值得提醒的一点就是在go语言中,我们map是属于值引用类型。

Go 语言浅尝 Map

以上就是我们关于go语言map的基本操作,以后小栈君会尽量多次分享干货,非常感谢小伙伴的关注,我是小栈君,我们下期分享再见,拜了个拜~

这里不定期会分享包含java,go,Python,大数据,人工智能的相关干货,我们一起提高,一起进步。我是小栈君,我们明天再见,拜了个拜。

Go 语言浅尝 Map

以上所述就是小编给大家介绍的《Go 语言浅尝 Map》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

引爆点

引爆点

[美] 马尔科姆·格拉德威尔 / 钱清、覃爱冬 / 中信出版社 / 2006-1 / 29.80元

这本书是《纽约客》杂志专职作家马尔科姆·格拉德威尔的一部才华横溢之作。他以社会上突如其来的流行风潮研究为切入点,从一个全新的角度探索了控制科学和营销模式。他认为,思想、行为、信息以及产品常常会像传染病爆发一样,迅速传播蔓延。正如一个病人就能引起一场全城流感;如果个别工作人员对顾客大打出手,或几位涂鸦爱好者管不住自己,也能在地铁里掀起一场犯罪浪潮;一位满意而归的顾客还能让新开张的餐馆座无虚席。这些现......一起来看看 《引爆点》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具