【问题标题】:How to break out goquery Each loop in Go如何打破goquery Go中的每个循环
【发布时间】:2025-12-13 02:10:01
【问题描述】:

你能帮我打破 goquery Each looping 的循环吗? 我使用了“return”,但它并没有脱离循环,只是通过迭代...... 如何在以下代码中打破 Each 循环:

doc.Find("td").Each(func(i int, s *goquery.Selection) {
    summary := s.Text()
    if summary == "--" {
        //I want to break the Each loop here
    }
}

【问题讨论】:

    标签: go goquery


    【解决方案1】:

    使用EachWithBreak 方法

    doc.Find("td").EachWithBreak(func(i int, s *goquery.Selection) bool {
        summary := s.Text()
        if summary == "--" {
            return false
        }
        return true
    })
    

    【讨论】:

      【解决方案2】:

      在 goquery 1.7.1 iteration.go 中,它说:

      除了可以通过在回调函数中返回 false 来跳出循环之外,它与 Each

      所以你需要返回 false 来打破循环。

      【讨论】:

      • 始终添加指向您引用的文档的链接,并将相关部分粘贴到响应中(如您所做的那样),并在适用的情况下添加代码的 sn-p,以便您可以提供下次更完整的资料。它还指出应该使用EachWithBreak 而不是Each
      最近更新 更多