Go では、標準ライブラリを使って簡単にファイル操作を実装できます。
ログ出力、CSV処理、設定ファイル管理など、実務開発ではファイル操作は非常に重要です。
本記事では、Goでのファイル読み込み・書き込み方法を「基本・実装・実務で使えるテクニック」まで初心者向けに解説します。
Goでファイル操作する理由
例えば👇
- ログ保存
- CSV出力
- JSON保存
- 設定ファイル管理
- バッチ処理
👉 実務で頻出
ファイル読み込み
os.ReadFile
package main
import (
"fmt"
"os"
)
func main() {
data, err := os.ReadFile("sample.txt")
if err != nil {
panic(err)
}
fmt.Println(string(data))
}
ファイル書き込み
os.WriteFile
package main
import "os"
func main() {
content := []byte("Hello Go")
err := os.WriteFile(
"sample.txt",
content,
0644,
)
if err != nil {
panic(err)
}
}
追記モード
file, err := os.OpenFile(
"sample.txt",
os.O_APPEND|os.O_WRONLY,
0644,
)
ファイル作成
file, err := os.Create("new.txt")
行単位で読み込む
scanner := bufio.NewScanner(file)
CSV操作
reader := csv.NewReader(file)
JSON保存
json.NewEncoder(file).Encode(data)
実務で重要なポイント
✔ defer Close
defer file.Close()
✔ パス管理
filepath.Join()
✔ エラーハンドリング
if err != nil {
return err
}
実務での応用
- ログ管理
- CSVエクスポート
- バックアップ
- バッチ処理
よくある失敗
❌ Close忘れ
❌ 相対パス問題
❌ ファイル権限ミス
ベストプラクティス
- defer Close
- filepath利用
- Error管理
- UTF-8統一
💡 結論
👉
「ファイル操作はバックエンド開発の基本スキル」


コメント