首页 > 解决方案 > 如何迭代切片,一次 4 个项目

问题描述

如何一次遍历 Go 切片 4 个项目。

可以说我有[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]

我想要一个 for 循环能够得到

[1,2,3,4] //First Iteration
[5,6,7,8] //Second Iteration
[9,10,11,12] //Third Iteration
[13,14,15,] // Fourth Iteration

我可以在 java 和 python 中做到这一点,但对于 golang 我真的不知道。

标签: go

解决方案


例如,

package main

import "fmt"

func main() {
    slice := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
    for i := 0; i < len(slice); i += 4 {
        var section []int
        if i > len(slice)-4 {
            section = slice[i:]
        } else {
            section = slice[i : i+4]
        }
        fmt.Println(section)
    }
}

游乐场: https: //play.golang.org/p/kf7_OJcP13t

输出:

[1 2 3 4]
[5 6 7 8]
[9 10 11 12]
[13 14 15]

推荐阅读