为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Go中遍历循环并打印出每三个元素

如何在Go中遍历循环并打印出每三个元素

Go
BIG阳 2022-04-20 20:40:57
我知道要遍历一个列表,我会执行以下操作:for e := alist.Front(); e != nil; e = e.Next() {       fmt.Println(e.Value)    }但是,我想打印出每三个元素。在其他语言中,我会像 e += 3 这样增加索引。如何使用 Go 来做到这一点?
查看完整描述

1 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

List 是一个双向链表,不允许按特定计数查找或跳转。我的解决方法是这样的:


i := 0

for e := alist.Front(); e != nil; e = e.Next() {

    if i % 3 == 0 {

        fmt.Println(e.Value)

    }


    i++

}

或者一个代码重用的新函数(加上@torek的注释,它变得更简单了):


func NextByCount(el *list.Element, count int) *list.Element {

    for ; el != nil && count > 0; count-- {

        el = el.Next()

    }


    return el

}

然后像这样循环:


for e := alist.Front(); e != nil; e = NextByCount(e, 3) {

    fmt.Println(e.Value)

}


查看完整回答
反对 回复 2022-04-20
  • 1 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信