仅供参考:
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         //仅供参考
)