Golangでbytes.Bufferの内容を一行ずつ配列に代入する

Golangで、bytes.Bufferの内容を一行ずつ配列に入れる処理を前にやってたので、ネタがないので備忘として残しておく。
こんな感じで書いてた。

Sponsored Links

package main
import (
"bytes"
"fmt"
"text/tabwriter"
)
func main() {
buffer := &bytes.Buffer{}
w := new(tabwriter.Writer)
w.Init(buffer, 0, 8, 0, '\t', 0)
fmt.Fprintln(w, "a\tb\tc\td")
fmt.Fprintln(w, "123\t12345\t1234567\t123456789")
fmt.Fprintln(w, "ABCDEFG\tHIJKLM\t1234567\t123456789")
fmt.Fprintln(w, "1\t2\t3\t4")
w.Flush()
fmt.Println(buffer)
line, err := buffer.ReadString('\n')
list := []string{}
for err == nil {
str := string(line)
list = append(list, str)
line, err = buffer.ReadString('\n')
}
fmt.Println(list[3])
}

 


Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。

*