更不便的在微信公众号阅读文章能够关注公众号:海生的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文件只有执行一下就行。