app.go的问题

  1. 把app.go和config.go都放在config下面会出现执行顺序问题,报错app.go
  2. 我把app.go文件单独提取处理,fmt.Println(config.Get(“app.port”))获取不了端口号```go
    app.go

// Package config 站点配置信息
package config

import “gohub/config”

func init() {
config.Add(“app”, func() map[string]interface{} {
return map[string]interface{}{

        // 应用名称
        "name": config.Env("APP_NAME", "Gohub"),

        // 当前环境,用以区分多环境,一般为 local, stage, production, test
        "env": config.Env("APP_ENV", "production"),

        // 是否进入调试模式
        "debug": config.Env("APP_DEBUG", false),

        // 应用服务端口
        "port": config.Env("APP_PORT", "3000"),

        // 加密会话、JWT 加密
        "key": config.Env("APP_KEY", "33446a9dcf9ea060a0a6532b166da32f304af0de"),

        // 用以生成链接
        "url": config.Env("APP_URL", "http://localhost:3000"),

        // 设置时区,JWT 里会使用,日志记录里也会使用到
        "timezone": config.Env("TIMEZONE", "Asia/Shanghai"),
    }
})

}

main.go

package main

import (
“flag”
“fmt”
“github.com/gin-gonic/gin”
“gohub/bootstrap”
“gohub/config”
)

func init() {
// 加载 config 目录下的配置信息
config.Initialize()
}

func main() {
// 配置初始化,依赖命令行 –env 参数
var env string

flag.StringVar(&env, "env", "", "加载 .env 文件,如 --env=testing 加载的是 .env.testing 文件")

flag.Parse()
config.InitConfig(env)
// new 一个 Gin Engine 实例
router := gin.New()
// 初始化 DB
bootstrap.SetupDB()

// 初始化路由绑定
bootstrap.SetupRoute(router)
fmt.Println(config.Get("app.port"))
// 运行服务
err := router.Run(":" + config.Get("app.port"))
if err != nil {
    // 错误处理,端口被占用了或者其他错误
    fmt.Println(err.Error())
}

}



讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!