2016-07-31 14:11
浏览 155


I want to do this:

  1. Read a line from a text file.
  2. Process the line.
  3. Delete the line.

My first thought was to read the entire file into memory with ioutil.Readfile(),
but I'm not sure how to update the text file after the line has been processed,
and what happens if extra lines is added to the text file after it has been read into memory?

I normally write shell scripts and would do something like this:

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

What is the best way to do this in Golang?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • dongqiya9552 2016-08-01 01:58

    Use the bufio package.

    Here's the basic syntax for opening a text file and looping through each line.

    package main
    import (
    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()
    解决 无用
    打赏 举报

相关推荐 更多相似问题