我正在获取文本文件的最后一行,并尝试读取它。
获取最后一行:
func getLastLine(file *os.File) (result int) {
s := bufio.NewScanner(file)
result = 0
for s.Scan() {
result++
}
err := s.Err()
if err != nil {
log.Fatal(err)
}
return
}
读取文件:
func readFileFrom(file *os.File) {
s := bufio.NewScanner(file)
for s.Scan() {
fmt.Println(s.Text())
}
err := s.Err()
if err != nil {
log.Fatal(err)
}
}
如果我把这个写在main.go:
getLastLine(file)
readFileFrom(file)
它不会执行该块:
for s.Scan() {
fmt.Println(s.Text())
}
如果我删除该行getLastLine(file),则读取将按预期进行。
我认为这是因为 2 个扫描仪正在访问同一个文件。
慕码人2483693
相关分类