文件位置: project/main.go
文件作用:入口文件,执行main函数
package main
import (
"github.com/flipped-aurora/gin-vue-admin/server/core" // 核心文件包,负责核心组件(zap, viper, server)等的初始化
"github.com/flipped-aurora/gin-vue-admin/server/global" // 全局对象包,包括数据库连接实例、缓存实例、配置参数等等
"github.com/flipped-aurora/gin-vue-admin/server/initialize" // 初始化包,初始化gorm、插件、缓存、定时器和验证器等
)
//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日志库
global.GVA_DB = initialize.Gorm() // gorm连接数据库
initialize.Timer()
initialize.DBList()
if global.GVA_DB != nil {
initialize.RegisterTables(global.GVA_DB) // 初始化表
// 程序结束前关闭数据库链接
db, _ := global.GVA_DB.DB()
defer db.Close()
}
core.RunWindowsServer()
}
“go:generate” 是执行go generate命令行命令的注释,当你在项目根目录或针对某个文件去执行时,go会扫描并执行所有标注“go generate”注释的后面的代码,仅限于go编译器可以执行的代码,shell代码无法执行
// @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文档注释,
网友评论