go - 如何在 GO 中读取/扫描 .txt 文件

标签 go

.txt 文件有很多行,每行包含一个单词。所以我打开文件并将其传递给读者:

file, err := os.Open("file.txt")
check(err)
reader := bufio.NewReader(file)

现在我想将每一行存储在一段字符串中。我相信我需要使用 ReadBytes、ReadString、ReadLine 或 Scan 函数中的一个。任何有关如何实现此建议的建议将不胜感激。谢谢。

最佳答案

您可以使用 ioutil.ReadFile() 将所有行读入一个字节 slice ,然后对结果调用 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))
    }
}

关于go - 如何在 GO 中读取/扫描 .txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18971649/

相关文章:

Java8 vs Go 执行速度

unit-testing - 在 golang 中运行单元测试错误 : %1 is not a valid win32 application

java - 快速切换位顺序的方法?

javascript - html中的图像显示错误似乎具有正确的路径

reactjs - 如何在单个二进制文件中使用 ReactJS GUI 构建 Go 应用程序?

go - 在两个不同的结构上调用相同的函数

go - 如何使用基准时间值(value)

arrays - 为什么使用数组而不是 slice ?

go - Go语言中的观察者模式

go - 使用 golang channel 的结果不一致