LoginSignup
3
1

More than 3 years have passed since last update.

Go言語でテキストファイルを一行ずつ読み込む

Last updated at Posted at 2019-09-22

久しぶりに A Tour of Go をやって Go を復習した。大量のテキストデータの処理に Go 言語が使えないかと思ったからだ。

テキストファイルを一行ずつ読み込むことは、テキスト処理の基本中の基本である。千里の道も一歩から、である。

この記事を書くにあたって、この記事を全面的に参考にさせていただいた。深謝。
bufio.Scanner を使うのがコツらしい。

行指向でなくてよいなら、この記事も参考になる。

test.txt
これはテストです。
よろしくね。
hello world!
read_text_file.go

package main

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

func main() {
    filename := "test.txt"

    fp, err := os.Open(filename)
    if err != nil {
        fmt.Println(err)
        return
    }
    defer fp.Close()

    scanner := bufio.NewScanner(fp)

    for scanner.Scan() {
        fmt.Println(scanner.Text())
    }

    if err = scanner.Err(); err != nil {
        fmt.Println(err)
        return
    }
}
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1