gin 文档

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

初始化gin项目

  1. 设置 go mod​​GOPROXY=https://goproxy.cn,direct​
  2. go mod init projectName
  3. 配置 go build
  4. gin博客项目复盘--01配置文件使用_安装包

  5. 安装 gin​​go get -u ginhub.com/gin-gonic/gin​​ #-u 如果存在则更新
  6. 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
  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运行
  1. 运行测试 main.go
package main

import "ginVue3blog/routes"

func main() {
//引入路由

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