.proto ファイルをインポートする (import)
Protocol Buffers の .proto
内で import
ステートメントを使用すると、他の .proto
ファイルの内容を取り込むことができます。
次の例では、main.proto
から other.proto
の内容をインポートして、OtherMessage
というメッセージ型を参照しています。
インポートのパスは、デフォルトでは protoc
コマンドを実行したディレクトリからの相対パスで指定します。
起点となるディレクトリを変更したい場合は、protoc
コマンドの --proto_path
オプションで、.proto
ファイルを配置したルートディレクトリを指定します。
上記のように実行すると、proto/message/main.proto
ファイル(およびそこからインポートされているファイル)を入力情報として、message/main.pb.go
が生成されます。
- 参考: protoc コマンドで .proto ファイルをコンパイルする (Protocol Buffers Compiler)
- 参考: Go 言語で gRPC 通信してみる(Echo サーバー&クライアント)
インポートした内容を再公開する (import public)
別の .proto
ファイルをインポートするときに、import public
を使用すると、インポートした内容(メッセージ型の定義など)を自分自身が定義しているかのように公開することができます。
以下の例では、main.proto
は other1.proto
しかインポートしていませんが、間接的に other2.proto
で定義している Other2Message
メッセージ型を参照しています。