我正在尝试创建一个简单的程序来从文本文件中读取行并将它们打印到 golang 中的控制台。我花了很多时间检查我的代码,我根本不明白为什么只有最后一行被打印到屏幕上。谁能告诉我这里哪里出错了?这里的一切都应该编译和运行。
package main
import (
"bufio"
"fmt"
"os"
)
func Readln(r *bufio.Reader) (string, error) {
var (
isPrefix bool = true
err error = nil
line, ln []byte
)
for isPrefix && err == nil {
line, isPrefix, err = r.ReadLine()
ln = append(ln, line...)
}
return string(ln), err
}
func main() {
f, err := os.Open("tickers.txt")
if err != nil {
fmt.Printf("error opening file: %v\n", err)
os.Exit(1)
}
r := bufio.NewReader(f)
s, e := Readln(r)
for e == nil {
fmt.Println(s)
s, e = Readln(r)
}
}