文件位置: project/main.go
文件作用:入口文件族铆,執(zhí)行main函數(shù)
package main
import (
"github.com/flipped-aurora/gin-vue-admin/server/core" // 核心文件包箫锤,負(fù)責(zé)核心組件(zap, viper, server)等的初始化
"github.com/flipped-aurora/gin-vue-admin/server/global" // 全局對(duì)象包蔓榄,包括數(shù)據(jù)庫(kù)連接實(shí)例毅整、緩存實(shí)例嗦枢、配置參數(shù)等等
"github.com/flipped-aurora/gin-vue-admin/server/initialize" // 初始化包阅悍,初始化gorm朗伶、插件弦撩、緩存、定時(shí)器和驗(yàn)證器等
)
//go:generate go env -w GO111MODULE=on
//go:generate go env -w GOPROXY=https://goproxy.cn,direct
//go:generate go mod tidy
//go:generate go mod download
// @title Swagger Example API
// @version 0.0.1
// @description This is a sample Server pets
// @securityDefinitions.apikey ApiKeyAuth
// @in header
// @name x-token
// @BasePath /
func main() {
global.GVA_VP = core.Viper() // 初始化Viper
global.GVA_LOG = core.Zap() // 初始化zap日志庫(kù)
global.GVA_DB = initialize.Gorm() // gorm連接數(shù)據(jù)庫(kù)
initialize.Timer()
initialize.DBList()
if global.GVA_DB != nil {
initialize.RegisterTables(global.GVA_DB) // 初始化表
// 程序結(jié)束前關(guān)閉數(shù)據(jù)庫(kù)鏈接
db, _ := global.GVA_DB.DB()
defer db.Close()
}
core.RunWindowsServer()
}
“go:generate” 是執(zhí)行g(shù)o generate命令行命令的注釋?zhuān)?dāng)你在項(xiàng)目根目錄或針對(duì)某個(gè)文件去執(zhí)行時(shí)论皆,go會(huì)掃描并執(zhí)行所有標(biāo)注“go generate”注釋的后面的代碼益楼,僅限于go編譯器可以執(zhí)行的代碼,shell代碼無(wú)法執(zhí)行
// @title Swagger Example API
// @version 0.0.1
// @description This is a sample Server pets
// @securityDefinitions.apikey ApiKeyAuth
// @in header
// @name x-token
// @BasePath /
Swagger API文檔注釋?zhuān)?/p>