Golang 文件 reader 范围错误
Golang File reader scopes mistake
我正在尝试了解两种文件读取情况之间的区别。
下面的代码工作正常。我们逐行读取文件到变量:
reader := bufio.NewReader(file)
var line string
for err != io.EOF {
line, err = reader.ReadString('\n')
log.Println(line)
}
但是如果我想在 for 范围内初始化(使用 reader),reader 将无限地只读取第一行代码:
reader := bufio.NewReader(file)
var line string
for line, err = reader.ReadString('\n'); err != io.EOF; {
log.Println(line)
}
请解释一下为什么会这样?谢谢
将其从初始化 (Which runs only once) 移至 post 语句。
改成
for line, err = reader.ReadString('\n'); err != io.EOF; line, err = reader.ReadString('\n') {
log.Println(line)
}
我正在尝试了解两种文件读取情况之间的区别。
下面的代码工作正常。我们逐行读取文件到变量:
reader := bufio.NewReader(file)
var line string
for err != io.EOF {
line, err = reader.ReadString('\n')
log.Println(line)
}
但是如果我想在 for 范围内初始化(使用 reader),reader 将无限地只读取第一行代码:
reader := bufio.NewReader(file)
var line string
for line, err = reader.ReadString('\n'); err != io.EOF; {
log.Println(line)
}
请解释一下为什么会这样?谢谢
将其从初始化 (Which runs only once) 移至 post 语句。 改成
for line, err = reader.ReadString('\n'); err != io.EOF; line, err = reader.ReadString('\n') {
log.Println(line)
}