Golang基础编程(四)-Map(集合)、Slice(切片)、Range

一、Map

·Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。

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

Map-声明&初始化

Golang基础编程(四)-Map(集合)、Slice(切片)、Range

Map使用前必须初始化

Map-示例

Golang基础编程(四)-Map(集合)、Slice(切片)、Range

输出结果:

Japan 首都是 东京

India 首都是 新德里

China 首都是 北京

二、Slice

·Go 语言切片是对数组的抽象。

·Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。

Slice-声明&初始化

Golang基础编程(四)-Map(集合)、Slice(切片)、Range

Slice-长度&容量

Golang基础编程(四)-Map(集合)、Slice(切片)、Range

 Slice-截取

数据截取方法 s[start, end] 左闭右开规则

Golang基础编程(四)-Map(集合)、Slice(切片)、Range

 Slice-追加&拷贝

Golang基础编程(四)-Map(集合)、Slice(切片)、Range

 三、Range

·Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对的 key 值。

Golang基础编程(四)-Map(集合)、Slice(切片)、Range

输出结果:

sum: 9

index: 1

a -> apple

b -> banana

0 103

1 111

 

上一篇:make和new的区别


下一篇:剑指 Offer 40. 最小的k个数(简单)