在 Golang 中,可以使用 map 函数和匿名函数对数据结构元素进行分组:创建一个以整数为键、整数切片为值的空映射。遍历数据结构中的元素,并将其向下取整到 10 分一档。将元素追加到对应 10 分一档的切片中。
如何使用 Golang 函数对数据结构元素进行分组
在 Golang 中,我们可以使用 map
函数和匿名函数对数据结构元素进行分组。map
函数将一个集合映射到另一个集合,而匿名函数允许我们在不定义命名的函数的情况下指定函数。
实战案例:
假设我们有一个包含学生成绩的 []int
切片:
grades := []int{90, 85, 75, 92, 80, 95}
我们可以使用 map
函数和匿名函数将成绩分组为 10 分一档:
gradeGroups := map[int][]int{} for _, grade := range grades { decade := (grade / 10) * 10 gradeGroups[decade] = append(gradeGroups[decade], grade) }
其中:
map[int][]int{}
创建一个以整数为键、整数切片为值的空映射。for _, grade := range grades
遍历 grades
切片中的每个元素。(grade / 10) * 10
将每个成绩除以 10 并将其向下取整,将成绩映射到 10 分一档。gradeGroups[decade] = append(gradeGroups[decade], grade)
将当前成绩追加到对应 10 分一档的切片中。执行上述代码后,gradeGroups
将包含以下分组:
map[int][]int{ 70: {75}, 80: {80, 85}, 90: {90, 92, 95}, }