ホームページ > バックエンド開発 > Golang > Golang でバイナリ ファイルを操作するにはどうすればよいですか?

Golang でバイナリ ファイルを操作するにはどうすればよいですか?

王林
リリース: 2024-03-21 10:18:03
オリジナル
767 人が閲覧しました

Golang でバイナリ ファイルを操作するにはどうすればよいですか?

Golang でバイナリ ファイルを操作するにはどうすればよいですか?

Golang では、バイナリ ファイルの操作は標準ライブラリによって提供されるいくつかの関数を使用して実行できる一般的なタスクです。この記事では、Golang でバイナリ ファイルを読み取り、書き込み、編集する方法を具体的なコード例とともに紹介します。

1. バイナリ ファイルを作成します

まず、関連するパッケージをインポートする必要があります:

package main

輸入 (
    「オス」
    「エンコーディング/バイナリ」
)
ログイン後にコピー

次に、バイナリ ファイルを作成し、次のコード例を使用してデータを書き込むことができます。

func main() {
    ファイル、エラー:= os.Create("binaryfile.bin")
    エラーの場合 != nil {
        パニック(えー)
    }
    ファイルを延期する.Close()

    データ := []int{1, 2, 3, 4, 5}

    for _, num := 範囲データ {
        binary.Write(ファイル、バイナリ.リトルエンディアン、番号)
    }

    println("バイナリファイルが作成され、データが書き込まれました")
}
ログイン後にコピー

上記のコードでは、まず binaryfile.bin という名前のバイナリ ファイルを作成し、そのデータを整数配列 data にリトル エンディアン順で配置します。ファイルに書き込みます。

2. バイナリ ファイルの読み取り

次に、作成したばかりのバイナリ ファイルのデータを読み取る方法を見てみましょう:

func main() {
    ファイル、エラー:= os.Open("binaryfile.bin")
    エラーの場合 != nil {
        パニック(えー)
    }
    ファイルを延期する.Close()

    var num int
    のために {
        err := binary.Read(file, binary.LittleEndian, &num)
        エラーの場合 != nil {
            壊す
        }
        println(番号)
    }

    println("バイナリファイルが読み込まれました")
}
ログイン後にコピー

上記のコードでは、まず以前に作成したバイナリ ファイル binaryfile.bin を開き、次に binary.Read 関数を使用して整数データを読み取ります。 1つずつ選択し、印刷してください。

3. バイナリ ファイルを編集する

既存のバイナリ ファイルを編集したい場合は、次のコード例を使用して行うことができます:

func main() {
    ファイル、エラー := os.OpenFile("binaryfile.bin", os.O_RDWR, 0666)
    エラーの場合 != nil {
        パニック(えー)
    }
    ファイルを延期する.Close()

    var newData = []int{6, 7, 8}

    for _, num := range newData {
        binary.Write(ファイル、バイナリ.リトルエンディアン、番号)
    }

    println("バイナリファイルが編集されました")
}
ログイン後にコピー

上記のコードでは、まず前のバイナリ ファイル binaryfile.bin を読み取り/書き込みモードで開き、次に新しい整数データ配列 newData を追加しました。エンディアン順にファイルに書き込まれ、バイナリファイルの編集操作を実現します。

上記の例を通じて、バイナリ ファイルの作成、読み取り、編集など、Golang でバイナリ ファイルを操作する方法を詳しく紹介し、対応するコード例を添付しました。

以上がGolang でバイナリ ファイルを操作するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート