Go 语言浅尝 Map

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

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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

High Performance Python

High Performance Python

Andrew Lewis / O'Reilly Media, Inc. / 2010-09-15 / USD 34.99

Chapter 1. Introduction Section 1.1. The High Performance Buzz-word Chapter 2. The Theory of Computation Section 2.1. Introduction Section 2.2. Problems Section 2.3. Models of Computati......一起来看看 《High Performance Python》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具