仅供参考:
projectname
├── common
│ ├── proto
│ │ ├── xxx
│ │ │ ├── xxx.pb.go
│ │ │ └── xxx.proto
│ │ ├── yyy
│ │ │ ├── yyy.pb.go
│ │ │ └── yyy.proto
│ │ ├── zzz
│ │ │ ├── zzz.pb.go
│ │ │ └── zzz.proto
├── go.mod
├── go.sum
├── client
│ ├── grpc
│ │ ├── client.go
│ │ └── server.go
│ ├── alert
│ │ ├── alert.go
│ │ └── alert_test.go
│ └── main.go
├── server
│ ├── alert
│ │ ├── alert.go
│ ├── grpc
│ │ ├── client.go
│ │ └── server.go
│ └── main.go
将所有公共功能,比如proto的定义放到common中,在项目中引用时:
import (
"projectname/common/proto/xxx"
"projectname/common/proto/yyy"
"projectname/common/proto/zzz"
)
go.mod中:
module projectname
go 1.14
require (
github.com/... v1.5.0 //仅供参考
)