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

我知道要遍历一个列表,我会执行以下操作:


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

       fmt.Println(e.Value) 

   }

但是,我想打印出每三个元素。在其他语言中,我会像 e += 3 这样增加索引。如何使用 Go 来做到这一点?


BIG阳
浏览 178回答 1
1回答

喵喔喔

List 是一个双向链表,不允许按特定计数查找或跳转。我的解决方法是这样的:i := 0for 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)}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go