Как разбить goquery Каждый цикл в Go
Не могли бы вы помочь мне разорвать цикл goquery Каждый цикл? Я использовал "return", но он не выходит из цикла, просто передайте итерацию... Как я могу разорвать цикл Every в следующем коде:
doc.Find("td").Each(func(i int, s *goquery.Selection) {
summary := s.Text()
if summary == "--" {
//I want to break the Each loop here
}
}
2 ответа
Решение
Использовать EachWithBreak
метод
doc.Find("td").EachWithBreak(func(i int, s *goquery.Selection) bool {
summary := s.Text()
if summary == "--" {
return false
}
return true
})
В goquery 1.7.1 говорится: «Он идентичен Every, за исключением того, что можно выйти из цикла, вернув false в функции обратного вызова».
Поэтому вам нужно вернуть false, чтобы разорвать цикл