Golang文件读取器范围错误



我试图理解两种文件读取情况之间的区别。

下面的代码运行良好。我们逐行读取文件到变量:

reader := bufio.NewReader(file)
var line string
for err != io.EOF {
line, err = reader.ReadString('n')
log.Println(line)
}

但如果我想在中为范围初始化(使用阅读器(,阅读器将无限地只读取第一行代码:

reader := bufio.NewReader(file)
var line string
for line, err = reader.ReadString('n'); err != io.EOF; {
log.Println(line)
}

请解释一下为什么会这样?感谢

将它从初始化(只运行一次(移动到post语句。将其更改为

for line, err = reader.ReadString('n'); err != io.EOF; line, err = reader.ReadString('n') {
log.Println(line)
}

最新更新