Open main menu
首页
专栏
课程
分类
归档
Chat
Sci-Hub
谷歌学术
Libgen
GitHub镜像
登录/注册
搜索
关闭
Previous
Previous
Next
Next
## 1.概述 项目配置是整个项目中很重要的一部分,一般项目的配置有数据库配置,应用配置(地址,端口等),缓存配置,第三方扩展的配置,中间件配置等等,可见配置在一个项目中的地位是很重要的,但是,gin中没有提供相关的配置管理的组件,我们可以使用go的第三方包来做配置管理,集成到gin中。 常用的第三方包有: - [ini](https://ini.unknwon.io/) - [yaml](https://gopkg.in/yaml.v2) - [viper](https://github.com/spf13/viper) - .... 本教程主要讲解ini,其他的请执行[Google](https://google.com) ## 2.ini的使用 目录结构我们使用前面推荐[项目结构](项目结构.md) - 安装gopkg.in/ini.v1 ```shell go get gopkg.in/ini.v1 ``` - 在conf下创建app.ini配置文件 ```ini [server] address = 0.0.0.0 port = 8080 ``` - 在pkg中创建config目录,并创建server.go,配置Server配置 ```go package config import ( "cn.sockstack/gin_demo/pkg/helper" "gopkg.in/ini.v1" ) var Server *server type server struct { Address string Port int source *ini.File } func (s *server) Load(path string) *server { var err error //判断配置文件是否存在 exists, err := helper.PathExists(path) if !exists { return s } s.source, err = ini.Load(path) if err != nil { panic(err) } return s } func (s *server)Init() *server { //判断配置是否加载成功 if s.source == nil { return s } s.Address = s.source.Section("server").Key("address").MustString("0.0.0.0") s.Port = s.source.Section("server").Key("port").MustInt(8080) return s } ```
登录查看更多内容
【Gin实战系列】项目配置
作者
sockstack
许可协议
CC BY 4.0
发布于
2023-09-02
修改于
2023-09-02
尚未登录
登录 / 注册
专栏目录
【Gin实战系列】快速入门
【Gin实战系列】项目结构
【Gin实战系列】项目配置
【Gin实战系列】控制器于路由
【Gin实战系列】请求参数处理
【Gin实战系列】校验错误信息
【Gin实战系列】服务编写
【Gin实战系列】模型定义
【Gin实战系列】数据库操作
【Gin实战系列】请求响应处理
【Gin实战系列】统一结构响应处理
【Gin实战系列】中间件使用
【Gin实战系列】日志使用
【Gin实战系列】cookie处理
【Gin实战系列】session处理
【Gin实战系列】模板渲染
【Gin实战系列】实例:密码加密
【Gin实战系列】实例:登录注册
【Gin实战系列】jwt身份认证
【Gin实战系列】使用 swagger 文档
【Gin实战系列】实例:文件上传