Fork me on GitHub

Go语言开发-集合类型-键序映射的遍历

4.3.4.键序映射的遍历

在实际使用中,我们经常需要以特定的顺序生成并展示这些数据。下面是一个例子,展示了如何以字母顺序(严格地说,是Unicode码点)输出映射populationForCity中的城市。

我们首先创建了一个[]string类型的长度为0(即,为空)的切片,但是设置了足够的容量来容纳映射的键。然后我们遍历映射得到所有的键(因为我们只需使用一个变量,所以不需要检索每个“键-值”对),并将每个城市追加到切片cities中。接下来,我们将该切片排序,然后遍历该切片(使用空白标识符忽略int类型的索引),并查找每个城市对应的人口。

上面的程序,创建了一个足够大的空切片来保存映射中的所有键,然后排序并遍历该切片,从而产生有序的输出,这个方法普适于所有希望按键序遍历映射的场景中。

另一种方法是使用一种有序的数据结构,例如,一个有序的映射,我们将在后面的章节介绍到。按值排序也是可以做到的,例如,将一个映射反转。


目录


作者:Johnson
原创文章,版权所有,转载请保留原文链接。

发表评论

电子邮件地址不会被公开。 必填项已用*标注