最近,遇到这样一个问题:
a文件:
func main(){ log.Infof("begin") y := sub(100, 20) log.Infof("end, y is %d", y) return }b文件:
func sub(x, y int) int { log.Infof("sub begin") return x - y }结果是:
begin
end, y is 80
奇怪了,怎么没有sub begin呢?
其实,这个很正常, log只是辅助, 当log与逻辑出现矛盾时,很有可能是log本身的问题。
查了下,因为在b文件中import的log和a文件中import的不是同一个包, 这就能解释得通为什么b文件的log没有打印了。
不同log包混打log, 很容易出现问题, 我有个同事前几天遇到过混打log的问题,程序还莫名其妙panic了, 查了大半天,查到怀疑人生。
不多说。
涛歌依旧 认证博客专家 排名第一 点链接学人工智能 公众号免费领资料 ❤️零基础入门进阶人工智能 ❤️欢迎关注涛哥公众号,免费领海量学习资料。涛哥:毕业后就职于华为和腾讯。微信:ai_taogeyijiu