Golang 如何通过键或值对 Map 进行排序
Go 是一种功能强大的编程语言,内置支持 map。Map 是无序的键-值对集合,有时需要按键或值对它们进行排序。幸运的是,Go 使用 sort 包提供了一种按键和值排序 map 的方法。在本文中,我们将讨论如何通过键或值对 Golang Map 进行排序。
按键排序 Golang Map
要按键对 Golang Map 进行排序,首先需要从 Map 中提取键,并使用 sort 包对它们进行排序。然后,我们可以遍历排序后的键,并从 map 中检索相应的值。
例子
以下是按键排序 Golang Map 的示例−
输出
在上面的示例中,我们创建了一个具有字符串键和整数值的 map。然后,我们从 map 中提取键并使用 sort.Strings() 函数对其进行排序。最后,我们遍历排序后的键并打印出 map 中对应的值。
按值排序 Golang Map
要按值对 Golang Map 进行排序,需要创建一个键值对的切片并根据值对其进行排序。然后,我们可以从切片中提取已排序的键。
例子
以下是按值排序 Golang Map 的示例−
输出
在上面的示例中,我们创建了一个具有字符串键和整数值的 map。然后,我们创建了一个键值对切片,并使用 sort.Slice() 函数和自定义的 less 函数根据值对其进行排序。最后,我们从切片中提取已排序的键,并打印出 map 中对应的值。
结论
使用 sort 包通过键或值对 Golang Map 进行排序非常简单。通过提取和排序键,或者创建键值对切片并基于值对其进行排序,您可以按升序或降序方式对 map 进行排序。