首页
/ goGreen 项目启动与配置教程

goGreen 项目启动与配置教程

2025-04-28 05:59:26作者:裴锟轩Denise

1. 项目目录结构及介绍

goGreen 项目的目录结构如下:

goGreen/
├── bin/                      # 存放编译后的可执行文件
├── conf/                     # 配置文件存放目录
│   └── app.conf              # 项目主配置文件
├── docs/                     # 文档目录
├── internal/                 # 项目内部模块
│   ├── api/                  # API 接口模块
│   ├── middleware/           # 中间件模块
│   ├── model/                # 数据模型模块
│   └── service/              # 业务逻辑模块
├── pkg/                      # 外部模块存放目录
│   └── util/                 # 工具模块
├── scripts/                  # 脚本目录
├── test/                     # 测试目录
├── go.mod                    # go 模块定义文件
├── go.sum                    # go 模块依赖总和文件
└── main.go                   # 项目入口文件

目录详细介绍:

  • bin/:存放编译后的可执行文件。
  • conf/:存放项目的配置文件,例如 app.conf
  • docs/:存放项目相关文档。
  • internal/:项目内部模块,包括 API 接口、中间件、数据模型和业务逻辑等。
  • pkg/:外部模块存放目录,通常用于存放工具类或第三方库的封装。
  • scripts/:存放一些辅助脚本,如数据库迁移脚本等。
  • test/:存放测试相关的文件和目录。
  • go.mod:定义项目依赖的 go 模块。
  • go.sum:记录项目的依赖总和,确保依赖的完整性。
  • main.go:项目的入口文件,负责启动和运行整个项目。

2. 项目的启动文件介绍

项目的启动文件为 main.go。以下是 main.go 文件的主要内容:

package main

import (
    "log"
    "net/http"
    "goGreen/conf"
    "goGreen/internal/api"
    "goGreen/internal/middleware"
)

func main() {
    // 读取配置文件
    appConf, err := conf.LoadConfig("conf/app.conf")
    if err != nil {
        log.Fatalf("Failed to load config: %v", err)
    }

    // 初始化中间件
    middleware.Init(appConf)

    // 初始化 API 接口
    api.InitAPI(appConf)

    // 启动 HTTP 服务器
    log.Printf("Starting server on port %d", appConf.Port)
    if err := http.ListenAndServe(fmt.Sprintf(":%d", appConf.Port), nil); err != nil {
        log.Fatalf("Failed to start server: %v", err)
    }
}

启动文件详细介绍:

  • LoadConfig 函数用于从配置文件 app.conf 中读取配置信息。
  • Init 函数分别用于初始化中间件和 API 接口。
  • 最后,使用 http.ListenAndServe 函数启动 HTTP 服务器,监听配置文件中指定的端口。

3. 项目的配置文件介绍

项目的配置文件为 conf/app.conf。以下是 app.conf 文件的主要内容:

[server]
port = 8080

[database]
username = root
password = password
host = localhost
port = 3306
database = goGreen

配置文件详细介绍:

  • [server] 部分:定义了 HTTP 服务器的端口。
  • [database] 部分:定义了数据库连接的相关参数,如用户名、密码、主机、端口和数据库名。
登录后查看全文
热门项目推荐