Ergo 项目使用教程
1. 项目目录结构及介绍
ergo/
├── cmd/
│ ├── ergo/
│ │ └── main.go
├── configs/
│ └── config.yaml
├── internal/
│ ├── app/
│ │ ├── handlers/
│ │ ├── models/
│ │ └── services/
│ └── pkg/
│ ├── logger/
│ └── utils/
├── .gitignore
├── go.mod
├── go.sum
└── README.md
目录结构说明
- cmd/: 包含项目的入口文件,通常是
main.go
。 - configs/: 存放项目的配置文件,如
config.yaml
。 - internal/: 包含项目的内部逻辑,通常分为
app
和pkg
两个子目录。- app/: 包含应用的核心逻辑,如
handlers
(处理请求)、models
(数据模型)和services
(服务层)。 - pkg/: 包含项目的公共包,如
logger
(日志记录)和utils
(工具函数)。
- app/: 包含应用的核心逻辑,如
- .gitignore: 指定 Git 版本控制系统忽略的文件和目录。
- go.mod 和 go.sum: Go 模块管理文件,用于管理项目的依赖。
- README.md: 项目的说明文档。
2. 项目启动文件介绍
cmd/ergo/main.go
main.go
是项目的入口文件,负责初始化应用并启动服务。以下是 main.go
的基本结构:
package main
import (
"ergo/internal/app"
"ergo/configs"
"log"
)
func main() {
// 加载配置文件
config, err := configs.LoadConfig("configs/config.yaml")
if err != nil {
log.Fatalf("无法加载配置文件: %v", err)
}
// 初始化应用
app := app.NewApp(config)
// 启动应用
if err := app.Run(); err != nil {
log.Fatalf("应用启动失败: %v", err)
}
}
启动文件说明
- 加载配置文件:
configs.LoadConfig("configs/config.yaml")
用于加载项目的配置文件。 - 初始化应用:
app.NewApp(config)
初始化应用实例。 - 启动应用:
app.Run()
启动应用服务。
3. 项目的配置文件介绍
configs/config.yaml
config.yaml
是项目的配置文件,用于配置应用的各种参数。以下是一个示例配置文件的内容:
server:
port: 8080
host: "localhost"
database:
host: "localhost"
port: 5432
user: "postgres"
password: "password"
name: "ergo_db"
log:
level: "info"
output: "stdout"
配置文件说明
- server: 配置服务器的相关参数,如端口和主机地址。
- database: 配置数据库连接信息,如主机、端口、用户名、密码和数据库名称。
- log: 配置日志记录的级别和输出方式。
通过以上配置,项目可以根据不同的环境(如开发、测试、生产)加载不同的配置文件,从而实现灵活的配置管理。