package main
import (
"fmt"
)
func main() {
nums := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
result := make([]int, 0)
for i, num := range nums {
if num%2 == 0 && num%3 == 0 {
result = append(result, num)
}
if (i + 1) % 5 == 0 {
fmt.Printf("已处理 %d 个元素\n", i+1)
}
}
fmt.Println("筛选后的结果:", result)
}
策略阐述
- 遍历切片:通过
for...range
语句遍历给定的整数切片,同时获取元素值num
和索引i
。
- 元素筛选:使用条件判断
num%2 == 0 && num%3 == 0
来确定当前元素是否能同时被2和3整除,如果满足条件,则将该元素追加到结果切片result
中。
- 进度打印:利用取模运算
(i + 1) % 5 == 0
判断当前处理的元素个数是否为5的倍数,如果是,则打印当前处理进度信息。
- 结果输出:遍历结束后,打印最终筛选后的结果切片
result
。