オープン ソース プログラミング言語として、Golang の使用シナリオはますます広く普及しており、Golang で書かれたプログラムは他のプログラムと対話する必要があります。これらのアプリケーションの多くは、それらの間の通信形式としてプロトコル バッファーを使用します。プロトコル バッファーは、Google が開発したデータ シリアル化プロトコルで、複雑なデータ構造をバイナリ形式で効率的にエンコードおよびデコードできます。
プロトコル バッファーを使用するには、プロト コンパイラー (protoc) をインストールする必要があります。これはプロトコル バッファーのコンパイラーであり、.proto ファイルを Golang を含むさまざまなプログラミング言語のソース ファイルにコンパイルするために使用されます。 Golang でのプロトコル バッファーの使用方法と protoc のインストール方法については、この記事で詳しく説明します。
Linux システムでは、GitHub から protoc のソース コードをダウンロードし、次のコマンドを使用してコンパイルしてインストールできます。 :
$ git clone https://github.com/google/protobuf $ cd protobuf $ ./autogen.sh && ./configure && make && sudo make install
Mac OS では、Homebrew を使用してプロトコルをインストールできます:
$ brew install protobuf
Protocol Buffers Compiled の公式 Web サイトからプリコンパイルされたバイナリをダウンロードすることもできます。バイナリ ファイルなので、protoc のコンパイル手順をスキップして、直接使用を開始できます。
protoc-X.X.X-OS-ARCH.zip
をダウンロードします。 bin/protoc
をシステム パスに追加します: export PATH=$PATH:/path/to/protoc/bin
。 protoc をインストールした後、Golang でそれを使用する必要があります。 Golang の場合、プロトコル バッファーを使用するには 2 つの方法があります:
プロトコル バッファーを使用する前に、記述用の .proto ファイルを記述する必要があります。メッセージのデータ構造とフォーマット。簡単な例を次に示します。
syntax = "proto3"; package greet; message HelloRequest { string name = 1; } message HelloReply { string message = 1; }
syntax = "proto3";
は、プロトコル バッファーの 3 番目のバージョンを使用していることを意味します。 package welcome;
は、gRPC に必要なパッケージ名です。 message
はメッセージの定義であり、フィールド名とタイプが含まれます。 string name = 1;
フィールドのデータ型が文字列、フィールド名が name、フィールド番号が 1 であることを示します。 .proto ファイルを作成した後、protoc コンパイラーを使用して Go コードを生成できます。次のコマンドを使用して Go コードを生成します。
$ protoc --go_out=. *.proto
このコマンドは、現在のディレクトリにあるすべての .proto ファイルを Go コードにコンパイルし、現在のディレクトリに生成します。
protobuf ツールを使用して Golang コードを生成することもできます。protobuf ツールは、以下に基づいて自動的にコードを生成できる公式のコマンド ライン ツールです。 .proto ファイルさまざまなプログラミング言語でコードを記述します。
コマンド ラインで次のコマンドを実行して protobuf ツールをインストールします:
$ go get -u github.com/golang/protobuf/protoc-gen-go
同様に、データ構造とメッセージ形式を記述する .proto ファイルを作成する必要もあります。上記の例はここでも使用されます。
次のコマンドを使用して Golang コードを生成します:
$ protoc --go_out=. --go-grpc_out=. --go_opt=paths=source_relative *.proto
このコマンドは、メッセージ、サービス、およびメッセージに基づいて Golang コードを生成します。 .proto ファイルで定義したメッセージ。対応する Golang コードを生成するメソッド。
Golang でのプロトコル バッファーの使用方法と protoc のインストール方法を紹介しました。 Golangではプロトコルバッファを利用することで、異なるプロセス間のデータ転送を簡単に実現し、通信効率を向上させることができます。
以上がgolang インストールプロトコルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。