golangでGo !!

とりあえずGo言語を触っていきます。

Goでテキストファイル読み込みと文字コード

Goでテキストファイルを読み込んで処理しようとすると

必ず文字コードで引っかかる。

なんとも面倒な事なんですが、とりあえず日本語ならShift_JISエンコードしちゃいます。

ファイル読み込みと同時に処理しちゃうのが楽ですけどね。

 

↓↓ とりあえずいつものようにライブラリを go getしちゃいます。

pkg.go.dev

 

↓↓ インストールできたら、importします。

"golang.org/x/text/encoding/japanese"
"golang.org/x/text/transform"

 

これで準備OKです。

↓↓ 適当なテキストファイルを読み込んで、エンコードしちゃいます。

var temp string

fp, err := os.Open(filename)
if err != nil {
panic(err)
}
 
sjisScanner := bufio.NewScanner(transform.NewReader(fp, japanese.ShiftJIS.NewDecoder()))

for sjisScanner.Scan() {
temp += sjisScanner.Text()
//fmt.Println(sjisScanner.Text())
}

fp.Close()

for文で一行毎に処理していく感じですけね。

これが一番お気楽な感じがします。

まぁ、早さとかを求めたらもっと効率がいい方法があるかもしれませんw

とりあえず、Goをカジュアルに使いたいので、これでヨシとします。