go 提供了内置 for 和 range 函数,可用于遍历稀疏数据结构:使用 for 遍历 map 中的键值对:for key, value := range sparsemap { ... }使用简化的 range 形式提取键或值:for key := range sparsemap { ... } / for value := range sparsemap { ... }实战案例:使用 range 排序并打印包含用户 id 和姓名的 map 中的用户列表。
使用 Golang 函数遍历稀疏数据结构
稀疏数据结构在处理包含大量缺失或零值的集合时非常有用。Golang 标准库提供了 for 和 range 等内置函数,可用于方便地遍历这些稀疏结构。
使用 for 遍历 map
map 是 Go 中最常见的稀疏数据结构。每个键值对都是一个独立的元素,这使得使用 for 遍历非常简单:
package main import "fmt" func main() { sparseMap := make(map[string]int) sparseMap["key1"] = 10 sparseMap["key3"] = 20 for key, value := range sparseMap { fmt.Println(key, value) } }
输出:
立即学习“go语言免费学习笔记(深入)”;
key1 10 key3 20
使用 range 提取键或值
如果只需要遍历键或值,可以使用 range 的简化形式:
for key := range sparseMap { fmt.Println(key) } for value := range sparseMap { fmt.Println(value) }
输出:
立即学习“go语言免费学习笔记(深入)”;
key1 key3 10 20
实战案例
假设你有一个用户列表,其中每个用户都有一个唯一的 ID 和一个姓名。用户列表可以用一个 map 来表示,其中键是用户 ID,值是用户姓名。
要按用户姓名排序并打印列表,你可以使用 range 和 fmt.Printf:
userList := make(map[int]string) userList[1] = "John" userList[3] = "Alice" userList[2] = "Bob" keys := make([]int, len(userList)) i := 0 for key := range userList { keys[i] = key i++ } sort.Ints(keys) for _, key := range keys { fmt.Printf("%d: %sn", key, userList[key]) }
输出:
立即学习“go语言免费学习笔记(深入)”;
1: John 2: Bob 3: Alice
以上就是如何使用 Golang 函数遍历稀疏的数据结构?的详细内容,更多请关注php中文网其它相关文章!