打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【Go实战 | 电商平台】(2) 项目结构及配置文件初始化

文章目录

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.iniconf.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、七牛云的配置啥的。

我们后面用到的时候才补上去吧。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何把应用程序迁移到 Kubernetes?
LAMP一键安装包-CentOS 5/6下自动编译安装Apache、MySQL、PHP
LNMP环境搭建指引
在Ubuntu 12.10 上安装部署Openstack 第5页
start service失败的问题解决
MYSQL注入中load_file()函数的进一步应用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服