美文网首页
第一讲 从main.go入手-2022-01-10

第一讲 从main.go入手-2022-01-10

作者: flashmind008 | 来源:发表于2022-01-10 15:55 被阅读0次
    文件位置: 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文档注释,

    相关文章

      网友评论

          本文标题:第一讲 从main.go入手-2022-01-10

          本文链接:https://www.haomeiwen.com/subject/gmwmcrtx.html