golang包导入注意事项
今天在线上忽然有一个接口报错404
查看代码,没问题,nginx没问题.
又去翻提交记录, 发现之前是通过 包导入来进行路由初始化.并且本次提交不知道为什么导入被删除了.盲猜是因为ide导致的自动删除了.
// 路由注册:
_ "xxxx/api/xxx"
// api路由
func init(){
// 注册的路由
}
最终解决办法:
显示调用路由注册, 而不是通过init匿名导入方式.
// api路由
package foobar
func InitRoute(){
// 注册的路由
}
// 路由注册:
func LoadRoute(){
foobar.InitRoute()
// ... 其他路由注册
}