Go言語(ゴーげんご)は、シンプルで効率的なプログラミング言語です。ファイルの読み書きは、プログラムの中でよく使う機能の1つです。このガイドでは、初心者向けにGo言語でのファイル操作について解説します。
Go言語では、ファイルを開くには「os」パッケージを使います。ファイルを開くときには、どのような操作をするかに応じてモードを指定できます。
package main
import (
"fmt"
"os"
)
func main() {
file, err := os.Open("example.txt")
if err != nil {
fmt.Println("ファイルを開けませんでした:", err)
return
}
defer file.Close() // 処理が終わったらファイルを閉じる
fmt.Println("ファイルを開きました!")
}
ファイルが正常に開けたら、次はファイルの中身を読み込んでみましょう。ここでは「bufio」パッケージを使って行単位で読み込む方法を紹介します。
import (
"bufio"
"os"
)
func readFile() {
file, err := os.Open("example.txt")
if err != nil {
fmt.Println("ファイルを開けませんでした:", err)
return
}
defer file.Close()
scanner := bufio.NewScanner(file)
for scanner.Scan() {
fmt.Println(scanner.Text()) // 1行ずつ表示
}
if err := scanner.Err(); err != nil {
fmt.Println("読み込み中にエラーが発生しました:", err)
}
}
次に、ファイルにデータを書き込む方法を紹介します。「os」パッケージの「Create」関数を使って、新しいファイルを作成し、その中にデータを書き込みましょう。
func writeFile() {
file, err := os.Create("output.txt")
if err != nil {
fmt.Println("ファイルを作成できませんでした:", err)
return
}
defer file.Close()
_, err = file.WriteString("こんにちは、Go言語!\n")
if err != nil {
fmt.Println("書き込み中にエラーが発生しました:", err)
} else {
fmt.Println("ファイルに書き込みました!")
}
}
Go言語でのファイル操作は、このようにシンプルです。ファイルの読み書きをマスターすることで、データの保存や管理がより便利になります。