更不便的在微信公众号阅读文章能够关注公众号:海生的go花园

一、前言

在第三章,咱们曾经学会了应用protoc命令,生成go文件。代码如下:

protoc --go_out=. --go_opt=paths=source_relative \       --go-grpc_out=. --go-grpc_opt=paths=source_relative \       api/hello.proto

protoc命名须要列出 .proto文件,如果咱们有多个文件,或者咱们想多个文件夹,怎么办?
此时咱们能够借助Makefile来,执行一些脚本,主动生成go代码。

二、应用Makefile来生成protoc命令。

咱们在grpc-demo1目录新建一个Makefile文件。

touch Makefile

此时查看grpc-demo1目录,构造如下:

➜  grpc-demo1 git:(master) ✗ tree.├── Makefile├── api│   ├── hello.pb.go│   ├── hello.proto│   └── hello_grpc.pb.go├── go.mod└── go.sum1 directory, 6 files

多了一个 Makefile文件。
咱们生成一个make protoc命令,代码如下,写入到Makefile文件中。

protoc:    protoc --go_out=. --go_opt=paths=source_relative \           --go-grpc_out=. --go-grpc_opt=paths=source_relative \           api/hello.proto

写好后,咱们在grpc-demo1目录执行下:

$ make protoc

此时这个make protoc命名代替了 protoc 命令一大堆参数,简化了咱们的复杂度。
要生成go文件只有执行一下就行。