关于 config.Initialize() 的加载顺序问题
在 pkg/session/session.go 中有如下一段代码
var Store = sessions.NewCookieStore([]byte(config.GetString("app.key")))
而这段代码会优先于 config.Initialize()
先执行,从而导致 config.GetString(“app.key”) 获取的数据为 nil
根据此图所示加载顺序为:
mail.go -> import “goblog/app/http/middlewares” -> import “goblog/pkg/session”
到达此包之后执行 var 变量赋值,而此时 main.go init() 函数还未执行,故导致上述获取值为空
测试:
可以看到先输出了 bbbbb,并且 config.GetString(“app.key”) 获取的值为空
推荐文章: