.txt 文件有很多行,每行包含一个单词。所以我打开文件并将其传递给阅读器:
file, err := os.Open("file.txt")
check(err)
reader := bufio.NewReader(file)
现在我想将每一行存储在一段字符串中。我相信我需要使用 ReadBytes、ReadString、ReadLine 或 Scan 函数中的一个。任何有关如何实现这一点的建议将不胜感激。谢谢。
.txt 文件有很多行,每行包含一个单词。所以我打开文件并将其传递给阅读器:
file, err := os.Open("file.txt")
check(err)
reader := bufio.NewReader(file)
现在我想将每一行存储在一段字符串中。我相信我需要使用 ReadBytes、ReadString、ReadLine 或 Scan 函数中的一个。任何有关如何实现这一点的建议将不胜感激。谢谢。
您可以使用ioutil.ReadFile()
将所有行读入字节切片,然后调用split
结果:
package main
import (
"fmt"
"io/ioutil"
"log"
"strings"
)
func main() {
data, err := ioutil.ReadFile("/etc/passwd")
if err != nil {
log.Fatal(err)
}
lines := strings.Split(string(data), "\n")
for _, line := range lines {
fmt.Println("line:", string(line))
}
}
作为r
的实例*bufio.Reader
和myList
字符串的一部分,可以循环并读取行直到 EOL。
for {
line, err := r.ReadBytes('\n')
if err != nil {
break
}
myList = append(myList, string(line))
}