有没有在往前走功能就是喜欢类似"_file_"或"_line_"在旅途中,要知道是谁打来的过程中运行的时间特定的功能?在 C 中,我们有"_file_"可以作为宏调用的行。如何在 go 中做到这一点?
一只甜甜圈
浏览 274回答 3
3回答
海绵宝宝撒
如果您正在使用该log包,您可以指示记录器为条目添加各种信息的前缀。您可能对Lshortfile常量最感兴趣,这将导致d.go:23. 或者,Llongfile可以打印文件的完整路径(例如/a/b/c/d.go:23)。如果您不想使用该log包,也可以使用runtime.Caller(),这是日志包内部使用的。它不像 C 宏那样直接,但您可以将它隐藏在函数后面(并指定正确的调用深度)。您可以通过示例(第 140 行)查看日志包是如何实现的。