Go标准项目布局教程
go-standardGo常用规范定义,标准库方法使用示例,请注意这不是Go的中文版标准库(传送门)项目地址:https://gitcode.com/gh_mirrors/go/go-standard
1. 项目的目录结构及介绍
目录结构
go-standard/
├── cmd/
│ ├── app1/
│ │ └── main.go
│ └── app2/
│ └── main.go
├── internal/
│ ├── pkg1/
│ │ └── pkg1.go
│ └── pkg2/
│ └── pkg2.go
├── configs/
│ └── config.yaml
├── pkg/
│ ├── util1/
│ │ └── util1.go
│ └── util2/
│ └── util2.go
├── README.md
└── go.mod
目录介绍
- cmd/: 存放应用程序的入口文件,每个子目录对应一个可执行程序。
- app1/: 应用程序1的入口文件。
- app2/: 应用程序2的入口文件。
- internal/: 存放私有库代码,这些代码不能被其他项目导入。
- pkg1/: 私有库1的代码。
- pkg2/: 私有库2的代码。
- configs/: 存放配置文件。
- config.yaml: 项目的配置文件。
- pkg/: 存放公共库代码,这些代码可以被其他项目导入。
- util1/: 公共库1的代码。
- util2/: 公共库2的代码。
- README.md: 项目说明文档。
- go.mod: Go模块文件,定义项目的依赖关系。
2. 项目的启动文件介绍
cmd/app1/main.go
package main
import (
"fmt"
"go-standard/internal/pkg1"
)
func main() {
fmt.Println("Starting app1...")
pkg1.Run()
}
cmd/app2/main.go
package main
import (
"fmt"
"go-standard/internal/pkg2"
)
func main() {
fmt.Println("Starting app2...")
pkg2.Run()
}
启动文件介绍
- cmd/app1/main.go: 应用程序1的入口文件,调用
internal/pkg1
包中的Run
函数。 - cmd/app2/main.go: 应用程序2的入口文件,调用
internal/pkg2
包中的Run
函数。
3. 项目的配置文件介绍
configs/config.yaml
app1:
port: 8080
logLevel: info
app2:
port: 8081
logLevel: debug
配置文件介绍
- configs/config.yaml: 项目的配置文件,包含两个应用程序的配置信息。
- app1: 应用程序1的配置,包括端口和日志级别。
- app2: 应用程序2的配置,包括端口和日志级别。
以上是根据开源项目go-standard
生成的教程,包含了项目的目录结构、启动文件和配置文件的介绍。希望对您有所帮助!
go-standardGo常用规范定义,标准库方法使用示例,请注意这不是Go的中文版标准库(传送门)项目地址:https://gitcode.com/gh_mirrors/go/go-standard