Я новичок в работе, и я обнаружил, что пишу несколько циклов for
, которые выглядят так:
for element, err := producer.Produce(); err == nil; element, err = producer.Produce() {
process(element)
}
, где producer.Produce()
- это функция, подобная reader.ReadString('\n')
или fmt.Fscan(Reader, &token)
,Я бы очень хотел написать
for element := range elements {
process(element)
}
, но сейчас я был бы рад узнать, есть ли более чистый способ перебора выходных данных таких функций в go.В частности, есть ли хороший способ избавиться от этого назойливого дублирования в операторе init и операторе post оператора for?