emahiro/b.log

日々の勉強の記録とか育児の記録とか。

Go でテキストを1行ずつ読み込む

Overview

Go でテキストファイルを1行ずつ読み込んでいく方法を忘れてたので思い出しついでに備忘録です。

bufio を使う

bufio を忘れてました。

こんな感じで処理できます。

package main

import (
    "bufio"
    "bytes"
    "fmt"
)

// text ファイルに書かれてる内容だとする
const s = "aaaaaa\nbbbbbb\ncccccc\n"

func main() {
    buf := bytes.NewBufferString(s)
    scanner := bufio.NewScanner(buf)
    for scanner.Scan() {
        fmt.Println(scanner.Text())
    }
}

// output:
// 
// aaaaaa
// bbbbbb
// cccccc

ref: https://play.golang.org/p/1uRGl8Ox_jK