.
├── biz //代表business,业务
│ ├── config
│ │ └── config.go //封装好的读取配置文件(yml的)
│ ├── dal //数据库相关,也有其他语言、其他场景喜欢叫dao
│ ├── handler //http请求的实际处理方法,其路径与方法的映射在外层文件夹router里配置
│ │ ├── ping.go
│ ├── middleware
│ │ ├── jwt.go
│ │ └── session.go
│ ├── service //handler与dal的中间层,业务一般写在这里(dal与handler不建议写很复杂的业务)
│ └── utils
│ ├── response.go
│ ├── time.go
│ └── url.go
├── build.sh
├── conf //配置文件
│ ├── config.yaml
│ └── hertz.config.yaml
├── go.mod
├── go.sum
├── main.go
├── router.go //配置biz/handler中路径与方法的映射
├── router_gen.go //自动生成的,最好别改,也不用管
└── script //脚本
└── bootstrap.sh
- 业务:一般写在
biz/service
下,dal
与handler
不建议写很复杂的业务。 - conf:字节目前的配置方案是优先读取远程配置文件(ee/conf),读不到就会降级读取本地配置文件,配置文件不是热读取的,仅在服务启动的时候读取一次。
- script:scipt文件夹下面是架构组同学提交帮忙写好的脚本,运行即可一键编译,如果自己想在本地goland单步调试的话,就要配置环境变量之类的了。