文章目录
1. 必备环境与推荐软件
1.1 必备环境
1.2 推荐软件
2. 项目初始化
3. 配置文件初始化
3.1 config.ini
3.2 conf.go
3.3 main函数
1. 必备环境与推荐软件
1.1 必备环境
mysql
redis
golang
1.2 推荐软件
goland
navicat
runapi
2. 项目初始化
创建项目
创建文件夹
项目结构
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 管理包依赖
换源
3. 配置文件初始化
在conf文件夹下创建config.ini和conf.go
3.1 config.ini
先进行mysql的配置
#debug开发模式,release生产模式 [service] AppMode = debug HttpPort = :3000 [mysql] Db = mysql DbHost = 127.0.0.1 DbPort = 3306 DbUser = root DbPassWord = root DbName = mail_db
3.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、七牛云的配置啥的。
我们后面用到的时候才补上去吧。