- 1. 必备环境与推荐软件
- 1.1 必备环境
- 1.2 推荐软件
- 2. 项目初始化
- 3. 配置文件初始化
- 3.1 config.ini
- 3.2 conf.go
- 3.3 main函数
- mysql
- redis
- golang
- goland
- navicat
- runapi
- 创建项目
- 创建文件夹
- 项目结构
mall/ ├── api ├── cache ├── conf ├── middleware ├── model ├── pkg │ ├── e │ ├── util ├── routes ├── serializer └── service
- api : 用于定义接口函数 - cache : 放置redis缓存 - conf : 用于存储配置文件 - middleware : 应用中间件 - model : 应用数据库模型 - pkg/e : 封装错误码 - pkg/util : 工具函数 - routes : 路由逻辑处理 - serializer : 将数据序列化为 json 的函数 - service : 接口函数的实现
- go mod 管理包依赖
- 换源
在conf文件夹下创建config.ini和conf.go
先进行mysql的配置
#debug开发模式,release生产模式 [service] AppMode = debug HttpPort = :3000 [mysql] Db = mysql DbHost = 127.0.0.1 DbPort = 3306 DbUser = root DbPassWord = root DbName = mail_db3.2 conf.go
- 配置文件
var ( AppMode string HttpPort string Db string DbHost string DbPort string DbUser string DbPassWord string DbName string )
- 读取配置文件
func Init() {
//从本地读取环境变量
file, err := ini.Load("./conf/config.ini")
if err != nil {
fmt.Println("配置文件读取错误,请检查文件路径:", err)
}
LoadServer(file)
LoadMysqlData(file)
//MySQL
path := strings.Join([]string{DbUser, ":", DbPassWord, "@tcp(", DbHost, ":", DbPort, ")/", DbName, "?charset=utf8&parseTime=true"}, "")
model.Database(path)
}
- 加载配置
func LoadServer(file *ini.File) {
AppMode = file.Section("service").Key("AppMode").String()
HttpPort = file.Section("service").Key("HttpPort").String()
}
func LoadMysqlData(file *ini.File) {
Db = file.Section("mysql").Key("Db").String()
DbHost = file.Section("mysql").Key("DbHost").String()
DbPort = file.Section("mysql").Key("DbPort").String()
DbUser = file.Section("mysql").Key("DbUser").String()
DbPassWord = file.Section("mysql").Key("DbPassWord").String()
DbName = file.Section("mysql").Key("DbName").String()
}
3.3 main函数
在main函数中进行初始化配置
还有一些配置没有写进去的。redis、七牛云的配置啥的。
我们后面用到的时候才补上去吧。



