Golangでは、バイナリファイルの読み書きはどうやって行いますか?
Golangでは、osおよびioパッケージを使用してバイナリファイルの読み書きができます。
最初に、os.Open()関数を使用してバイナリファイルを開き、読み取り操作を行うことができます。以下に示します:
file, err := os.Open("binaryfile.bin")
if err != nil {
log.Fatal(err)
}
defer file.Close()
次に、io.ReadFull()関数を使用してファイルの内容をバイトスライスに読み込むことができます。以下のようになります:
data := make([]byte, filesize)
_, err = io.ReadFull(file, data)
if err != nil {
log.Fatal(err)
}
上記のコードでは、filesizeはファイルのサイズであり、file.Stat()関数を使用して取得できます。io.ReadFull()関数はファイルの内容をdataバイトスライスに読み込みます。
二進ファイルに書き込む場合は、os.Create()関数を使用して二進ファイルを作成し、書き込み操作を行うことができます。以下に示します:
file, err := os.Create("binaryfile.bin")
if err != nil {
log.Fatal(err)
}
defer file.Close()
その後、ファイルに内容を書き込むためにfile.Write()関数を使用することができます。
data := []byte{0x01, 0x02, 0x03} // 要写入的内容
_, err = file.Write(data)
if err != nil {
log.Fatal(err)
}
上記のコードでは、dataはファイルに書き込む内容であり、バイトスライスであることができます。
Golangでバイナリファイルを読み書きする基本的な方法はこれです。具体的な要求やファイル形式に応じて適切な処理が必要です。