go - 从 Golang 中的文本文件中读取?

标签 go

我想这样做:

  1. 从文本文件中读取一行。
  2. 处理行。
  3. 删除该行。

我的第一个想法是使用 ioutil.Readfile() 将整个文件读入内存,
但我不确定如何在处理完该行后更新文本文件,
如果在将文本文件读入内存后将额外的行添加到文本文件中会发生什么情况?

我通常会编写 shell 脚本,并且会做这样的事情:

while read -r line; do
    echo "${line}"
    sed -i 1d "${myList}"
done < "${myList}"

在 Golang 中执行此操作的最佳方法是什么?

最佳答案

使用 bufio 包。

下面是打开文本文件并遍历每一行 的基本语法。

package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    // Open the file.
    f, _ := os.Open("C:\\programs\\file.txt")
    // Create a new Scanner for the file.
    scanner := bufio.NewScanner(f)
    // Loop over all lines in the file and print them.
    for scanner.Scan() {
      line := scanner.Text()
      fmt.Println(line)
    }
}

关于go - 从 Golang 中的文本文件中读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38684841/

相关文章:

go - 在开放端口上打开 URL

encoding - Go编码转换问题

go - 使用 Golang k8s 客户端在 GKE k8s 集群中部署服务

go - TCP `net.Conn.Read` 在使用 `encoding/gob` 解码器后挂起

go - 在golang中的 map 中使用指针

windows - Makefile 未设置 GOOS 环境变量

hash - Golang 使用 MD5 编码字符串 UTF16 little endian 和哈希

go - 来自接口(interface)值的底层指针类型

random - 从 Go Slice 中选择一个随机值

REST API 只能通过我的 React 客户端访问