Golang は最近非常に人気のあるプログラミング言語で、構文がシンプルで理解しやすく、大規模な同時プログラミングに非常に適しています。 Golangではprotobufをインストールすることで効率的なデータ交換を実現できます。
protobuf とは何ですか?
まず、protobuf とは何かを理解する必要があります。 Protobuf は、Google によって開発されたデータ交換フォーマットであり、軽量で効率的なデータのシリアル化方法です。シンプルな構文を使用してデータ構造を定義し、自動生成されたコードを使用してデータ構造を簡単にシリアル化および逆シリアル化できます。 Protobuf はバイナリ エンコーディングを使用するため、データ転送速度が XML や JSON などの形式よりもはるかに高速です。
protobuf をインストールする方法?
Golang をインストールする前に、まず protobuf をインストールする必要があります。したがって、最初に protobuf のコンパイラ protoc をインストールする必要があります。 protobuf は次のアドレスからダウンロードできます:
https://github.com/protocolbuffers/protobuf/releases
ここでは、protobuf の最新バージョンをインストールすることを選択します。ダウンロードが完了したら、ファイルをローカルで解凍する必要があります。
次に、コンピューターが protoc.exe を正常に見つけられるように環境変数を設定する必要があります。システム環境変数の「Path」に Protobuf ファイルのパスを追加することも、他の方法で環境変数を設定することもできます。環境変数を設定する方法の 1 つは次のとおりです:
1. ターミナルを開きます
2. 次のコマンドを入力して環境変数を追加します:
export PB_FOLDER=<PATH_TO_PROTOBUF_FOLDER> export PATH="$PATH:$PB_FOLDER/bin"
where <PATH_TO_PROTOBUF_FOLDER> ;
は protobuf フォルダーへのパスです。
インストールが完了したら、ターミナルに次のコマンドを入力して、Protobuf が正しくインストールされているかどうかをテストできます。
protoc --version
Protobuf のバージョン情報が出力された場合は、Protobuf がインストールされていることを意味します。正しくインストールされています。
Golang で protobuf を使用する方法?
protobuf をインストールした後、golang で github.com/golang/protobuf ライブラリを使用できます。このライブラリには、protobuf によって生成された Golang の構造とメソッドが含まれています。まず、ターミナルで次のコマンドを入力して github.com/golang/protobuf をインストールする必要があります:
go get -u github.com/golang/protobuf/protoc-gen-go
次に、ターミナルで次の手順に従って protobuf を使用できます:
1. .proto ファイルを定義します。 .proto ファイルには、Protobuf を使用してデータ メッセージを定義する構造が含まれています。テキスト エディターを使用して .proto ファイルを作成できます。サンプル コードは次のとおりです:
syntax = "proto3"; message Person { string name = 1; int32 age = 2; double weight = 3; repeated string hobbies = 4; }
2。protoc コマンドを使用して Golang コードを生成します。これらのコードは、Protobuf データ構造をシリアル化および逆シリアル化できます。コマンド例は次のとおりです:
protoc --go_out=. *.proto
このうち --go_out=. パラメータは、生成されたコードを現在のディレクトリに保存することを指します。 *.proto は、すべての .proto ファイルがコンパイルされることを意味します。この手順では、正しい .proto ファイル パスを指定するように注意してください。
3. 生成されたコードを使用します。生成されたコードでは、各 .proto ファイルによって .pb.go で終わるファイルが生成されます。コードでは、生成されたコードを使用してデータ メッセージの読み取りと書き込みを行うことができます。サンプル コードは次のとおりです:
package main import ( "fmt" "log" pb "github.com/USERNAME/REPO/DIR" "github.com/golang/protobuf/proto" ) func main() { p := &pb.Person{ Name: "Alice", Age: 22, Weight: 55.5, Hobbies: []string{"singing", "dancing"}, } data, err := proto.Marshal(p) if err != nil { log.Fatal("marshaling error: ", err) } fmt.Printf("Serialized: %v\n", data) var person pb.Person err = proto.Unmarshal(data, &person) if err != nil { log.Fatal("unmarshaling error: ", err) } fmt.Printf("Person: %#v\n", person) }
概要
protobuf のインストールと Golang での protobuf の使用は複雑ではなく、上記の手順をマスターするだけで済みます。あなたのプログラミングのキャリアに必ず役立つと思います。
以上がgolangにprotobufをインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。