0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

あれ?protocしたけど、メッセージ定義しか生成されてないぞ?って時に読んでほしい記事

Posted at

この記事は筆者の.proto ファイルからのgolangコード生成時の失敗談を元に理解を深めていただく記事です。
(そんなん読めばわかるだろ!って話だったのですが、大目に見てください)

protocの公式サンプル

上記記事のサンプルでは、.proto ファイルからGo言語へのコード生成をする際に

$ protoc --go_out=. --go_opt=paths=source_relative \
    --go-grpc_out=. --go-grpc_opt=paths=source_relative \
    helloworld/helloworld.proto

としています。

とりあえず生成してみる

上記の記事を見た私は、オプションいっぱいでわからないので、とりあえず最小限で実行してみよう!と思い

$ protoc --go_out=. 

と実行してみました。すると、helloworld.pb.goは生成されるけど、helloworld_grpc.pb.goが生成されていません!

なぜでしょう?

理由は簡単で、--go-grpc_out=が指定されていないからです!

  • --go_outは、*.pb.go
  • --go-grpc_optは、*._grpc.pb.go

の生成に関係しているということなんですね~。

そりゃそうか

皆さんも、コード生成時には、--go_out--go-grpc_optの指定をお忘れなきよう。それでは~

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?