关于 config.Initialize() 的加载顺序问题

pkg/session/session.go 中有如下一段代码

var Store = sessions.NewCookieStore([]byte(config.GetString("app.key")))

而这段代码会优先于 config.Initialize() 先执行,从而导致 config.GetString(“app.key”) 获取的数据为 nil

关于 config.Initialize() 的加载顺序问题

根据此图所示加载顺序为:
mail.go -> import “goblog/app/http/middlewares” -> import “goblog/pkg/session”
到达此包之后执行 var 变量赋值,而此时 main.go init() 函数还未执行,故导致上述获取值为空

测试:

关于 config.Initialize() 的加载顺序问题

关于 config.Initialize() 的加载顺序问题

关于 config.Initialize() 的加载顺序问题
可以看到先输出了 bbbbb,并且 config.GetString(“app.key”) 获取的值为空

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

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