php中文网

如何使用 Golang 函数对数据结构元素进行分组?

php中文网

在 golang 中,可以使用 map 函数和匿名函数对数据结构元素进行分组:创建一个以整数为键、整数切片为值的空映射。遍历数据结构中的元素,并将其向下取整到 10 分一档。将元素追加到对应 10 分一档的切片中。

如何使用 Golang 函数对数据结构元素进行分组

在 Golang 中,我们可以使用 map 函数和匿名函数对数据结构元素进行分组。map 函数将一个集合映射到另一个集合,而匿名函数允许我们在不定义命名的函数的情况下指定函数。

实战案例:

立即学习“go语言免费学习笔记(深入)”;

假设我们有一个包含学生成绩的 []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},
}

以上就是如何使用 Golang 函数对数据结构元素进行分组?的详细内容,更多请关注php中文网其它相关文章!