前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >gin博客项目复盘--01配置文件使用

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

作者头像
微客鸟窝
发布2022-11-07 14:48:02
4060
发布2022-11-07 14:48:02
举报
文章被收录于专栏:Go语言指北Go语言指北

gin 文档

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

初始化gin项目

  1. 设置 go modGOPROXY=https://goproxy.cn,direct
  2. go mod init projectName
  3. 配置 go build
  1. 安装 gingo get -u ginhub.com/gin-gonic/gin#-u 如果存在则更新
  2. gin目录框架

配置文件的使用

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

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

config/config.ini

代码语言:javascript
复制
[server]
AppMode = debug
HttpPort = :3000

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

utils/setting

代码语言:javascript
复制
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
代码语言:javascript
复制
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
代码语言:javascript
复制
package main

import "ginVue3blog/routes"

func main() {
 //引入路由
 routes.InitRouter()
}

图片及部分相关技术知识点来源于网络搜索,侵权删!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微客鸟窝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • gin 文档
  • 初始化gin项目
    • 配置文件的使用
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档