Go语言学习心得--Go 语言Map(集合)

既然看到Go语言的Map了,我们先解释一波JAVA中的Map不,毕竟也是干JAVA起步的。
各位没兴趣关心的可以跳过继续下一步
在JAVA里面Map接口中键和值一一映射. 可以通过键来获取值。
Map下面有三个实现,
|–Hashtable:底层是哈希表数据结构,不可以存入null键null值。该集合是线程同步的。jdk1.0.效率低。

|–HashMap:底层是哈希表数据结构,允许使用 null 值和 null 键,该集合是不同步的。将hashtable替代,jdk1.2.效率高。

|–TreeMap:底层是二叉树数据结构。线程不同步。可以用于给map集合中的键进行排序。

也就是说 HashMap如果说键值对是null他不会报错,但是Hashtable是回出现空指针异常的,这也是在面试中很容易问到的一些区别性的问题。
至于他们的底层,树结构和哈希表结构,我现在先不解释了,知道有这么回事,下次抽空专门整理一次,
那么我们再来说一下Go语言的Map(集合)。
Go语言中的Map 也是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。

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

定义 Map也是有2中形式

普通定义
/* 声明变量,默认 map 是 nil */
var map_variable map[key_data_type]value_data_type

使用内建函数make
map_variable := make(map[key_data_type]value_data_type)

但是Go语言贼尴尬的是,如果不初始化 map,那么就会创建一个 nil map。nil map 不能用来存放键值对,不能存放,他不是和JAVA中我们先定义一个new Map,然后存放东西。这个得谨慎一点!
看个实例搞一下
在这里插入图片描述
实例运行结果
在这里插入图片描述
delete函数

delete() 函数用于删除集合的元素, 参数为 map 和其对应的 key。实例如下:
在这里插入图片描述
实例结果执行一下
在这里插入图片描述
这样测试map集合就完了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丶懿

你的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值