Мне нравится решение Lzap, я новичок в Go,
Я хотел бы попросить lzap, но я не мог сделать это, у меня еще нет 50 баллов ..
Я немного меняю ваше решение и дополняю код ...
package main
import (
"bufio"
"fmt"
"io"
"os"
)
func main() {
f, err := os.Open("archiveName")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer f.Close()
r := bufio.NewReader(f)
line, err := r.ReadString(10) // line defined once
for err != io.EOF {
fmt.Print(line) // or any stuff
line, err = r.ReadString(10) // line was defined before
}
}
Я не уверен, зачем мне снова проверять 'err', но в любом случае мы можем это сделать.
Но главный вопрос ...
почему Go не выдает ошибку с предложением
=> строка, err: = r.ReadString (10) внутри цикла?
Он определяется снова и снова каждый раз, когда выполняется цикл.
Я избегаю этой ситуации с моим изменением, любой комментарий?
Я установил условие EOF в 'for' так же, как и в то время как.
Спасибо