卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章79529本站已运行4414

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

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

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

如何使用 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},
}
卓越飞翔博客
上一篇: 函数的参数传递方式对性能有何影响?
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏