gin博客项目复盘--01配置文件使用

简介: 初始化gin项目,设置 go mod GOPROXY=https://goproxy.cn,direct

gin 文档

gin-gonic.com/zh-cn/docs/

初始化gin项目

  1. 设置 go mod GOPROXY=https://goproxy.cn,direct
  2. go mod init projectName
  3. 配置 go build

image.png

  1. 安装 gingo get -u ginhub.com/gin-gonic/gin #-u 如果存在则更新
  2. gin目录框架
├─api--前后端分离├─config--管理网站配置参数├─middleware--中间件├─model--管理数据库├─routes--路由├─utils--公共工具,全局使用├─web--前端页面├─main.go复制代码
  1. 分析业务功能,创建数据库

配置文件的使用

  • 我们使用 .ini 来作为网站的配置文件
  • 文档地址:ini.unknwon.io/docs/intro
  • 项目中安装包:go get gopkg.in/ini.v1
  1. 项目根目录新建 config/config.ini

ini 的使用分为:分区、键和值

config/config.ini

[server]
AppMode = debug
HttpPort = :3000
[database]
Db = mysql
Dbhost = localhost
DbUser =
DbPassWord =
DbName = ginVue3blog
复制代码
  1. utils 中读取配置文件数据
  • 声明配置文件中的全局变量
  • 全局变量读取赋值
  • 安装包:go get -u gopkg.in/ini.v1详情参考 文档地址:ini.unknwon.io/docs/intro

utils/setting

package utils
import (
  "fmt"
  "gopkg.in/ini.v1"
)
var (
  AppMode  string
  HttpPort string
  Db         string
  DbHost     string
  DbPort     string
  DbUser     string
  DbPassWord string
  DbName     string
)
func init() {
  cfg, err := ini.Load("../config/config.ini")
  if err != nil {
    fmt.Printf("Fail to read file: %v", err)
  }
  AppMode = cfg.Section("server").Key("AppMode").MustString("debug")
  HttpPort = cfg.Section("server").Key("HttpPort").MustString("debug")
  Db = cfg.Section("database").Key("Db").MustString("mysql")
  DbHost = cfg.Section("database").Key("DbHost").MustString("localhost")
  DbPort = cfg.Section("database").Key("Db Port").MustString("3306")
  DbUser = cfg.Section("database").Key("DbUser").MustString("root")
  DbPassWord = cfg.Section("database").Key("DbPassWord").MustString("wucs123")
  DbName = cfg.Section("database").Key("DbName").MustString("ginVue3blog")
}
复制代码
  1. 路由 routes/router
package routes
import (
  setting "ginVue3blog/utils"
  "github.com/gin-gonic/gin"
  "net/http"
)
func InitRouter() {
  gin.SetMode(setting.AppMode)
  r := gin.Default()
  router := r.Group("api/v1")
  {
    router.GET("hello", func(c *gin.Context) {
      c.JSON(http.StatusOK, gin.H{
        "msg": "ok",
      })
    })
  }
  //此函数可以返回一个引擎 *gin.Engine ,然后main函数调用运行
  //也可以不返回,直接run运行
  r.Run(setting.HttpPort)
}
复制代码
  1. 运行测试 main.go
package main
import "ginVue3blog/routes"
func main() {
  //引入路由
  routes.InitRouter()
}


相关文章
|
网络协议
使用MPLS LDP解决BGP路由黑洞的问题
MPLS LDP默认不为BGP路由分配标签
|
SQL Java 数据库连接
Mybatis系列(一)之Mybatis入门和环境搭建
Mybatis系列(一)之Mybatis入门和环境搭建
|
存储 JSON 数据格式
Pandas处理JSON文件to_json()一文详解+实例代码
Pandas处理JSON文件to_json()一文详解+实例代码
2253 0
Pandas处理JSON文件to_json()一文详解+实例代码
|
SQL 存储 分布式计算
Spark Doris Connector设计方案
Spark Doris Connector 是Doris在0.12版本中推出的新功能。用户可以使用该功能,直接通过Spark对Doris中存储的数据进行读写,支持SQL、Dataframe、RDD等方式。从Doris角度看,将其数据引入Spark,可以使用Spark一系列丰富的生态产品,拓宽了产品的想象力,也使得Doris和其他数据源的联合查询成为可能。
1127 0
Spark Doris Connector设计方案
|
自然语言处理 Java 测试技术
go语言编程系列(二)
go语言编程系列(二)
|
存储 JavaScript 前端开发
Node.js的基本语法
【8月更文挑战第12天】Node.js的基本语法
655 1
|
NoSQL 中间件 数据库
如何基于 Gin 封装出属于自己 Web 框架?
如何基于 Gin 封装出属于自己 Web 框架?
133 0
|
算法 机器人 中间件
C++的主要优势是什么?
C++的主要优势是什么?
491 1
|
12月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
229 2

热门文章

最新文章