読者です 読者をやめる 読者になる 読者になる

【Go】外部ファイルを読み込んでsliceにする

お疲れ様です。

タイトルのとおりですが、「改行区切り」と「csv(カンマ区切り)」のパターンで見ていきます。

改行区切りでslice


gist90703dca517b274f2d6b53a11947a0f6
参考:
go - Read text file into string array (and write) - Stack Overflow

bufio.NewScanner は、改行文字で区切られたバイト列を1つずつ読み込みます。
scanner.Scan() は、次のデータブロック(つまり次の行)のデータを読み込み、データが見つかったかどうかの真偽値を返します。そのため、for文の判定として利用できます。
データが見つかったら、文字列のsliceにappendして、最終的にそのsliceを返しています。

カンマ区切りでslice


gist8ee0307edd81d90d19a48500bc5256e1
参考:
Golang csv Examples: NewReader and ReadAll

改行区切りの時と考え方は同じです。
読み込みが終わった場合は err == io.EOF でfor文を抜けます。

これで勉強中です:

Go言語によるWebアプリケーション開発

Go言語によるWebアプリケーション開発