Go 语言按行读取文件的方法

Go 中按行读取文件方法还是比较多的,但最简单也是最优雅的方式是使用 bufio.Scanner。示例如下:

代码语言:javascript代码运行次数:0运行复制
package main

import (
    "bufio"
    "log"
    "os"
)

func main() {
    f, err := os.Open("run.go")
    if err != nil {
        log.Fatalln(err)
    }
    defer f.Close()

    // scanner, 启动!
    scanner := bufio.NewScanner(f)
    for scanner.Scan() {
        // 这里注意, scanner.Text() 不会返回换行符
        log.Println(scanner.Text())
    }
    if scanner.Err() != nil {
        log.Fatalln(scanner.Err())
    }
}