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()
}


相关文章
|
存储 JSON 数据格式
Pandas处理JSON文件to_json()一文详解+实例代码
Pandas处理JSON文件to_json()一文详解+实例代码
2293 0
Pandas处理JSON文件to_json()一文详解+实例代码
|
SQL 数据库
商城数据库表设计介绍
商城数据库表设计介绍
1994 0
商城数据库表设计介绍
|
自然语言处理 Java 测试技术
go语言编程系列(二)
go语言编程系列(二)
|
存储 JavaScript 前端开发
Node.js的基本语法
【8月更文挑战第12天】Node.js的基本语法
748 1
|
NoSQL 中间件 数据库
如何基于 Gin 封装出属于自己 Web 框架?
如何基于 Gin 封装出属于自己 Web 框架?
142 0
|
算法 机器人 中间件
C++的主要优势是什么?
C++的主要优势是什么?
531 1
|
前端开发 Java 数据库连接
|
JavaScript Java 测试技术
基于Java的人事管理系统设计和实现(源码+LW+部署讲解)
基于Java的人事管理系统设计和实现(源码+LW+部署讲解)
201 7
|
存储 关系型数据库 MySQL
服务器数据恢复—EVA存储异常断电重启后虚拟机无法启动的数据恢复方案
服务器存储数据恢复环境: 某品牌EVA8400,服务器上安装VMware ESXi虚拟化平台,虚拟机的虚拟磁盘包括数据盘(精简模式)+快照数据盘,部分虚拟机中运行oracle数据库和mysql数据库。 服务器存储故障&检测: 存储异常断电重启后,存储中一台虚拟机无法启动。工作人员推测故障原因是异常断电导致电源模块出现故障,清空cache后重新启动存储发现该虚拟机仍无法正常启动。