gpt4 book ai didi

c - _file_ 或 _line_ 在 golang 中类似

转载 作者:IT老高 更新时间:2023-10-28 13:09:39 24 4
gpt4 key购买 nike

go 中是否有任何类似于 "_file_""_line_" 的函数,以便知道谁在运行时调用特定函数?在 C 语言中,我们有可以作为宏调用的 "_file_" 行。如何在 go 中执行此操作?

最佳答案

如果您使用 log 包,您可以指示记录器到 prefix the entries with various information .您可能对 Lshortfile 常量最感兴趣,它会产生类似于 d.go:23 的前缀。或者,有 Llongfile 打印文件的完整路径(例如 /a/b/c/d.go:23)。

如果您不想使用 log 包,也可以使用 runtime.Caller() ,这是日志包内部使用的。它不像 C 宏那样直接,但您可以将其隐藏在函数后面(并指定正确的调用深度)。您可以see how the log package is implemented例如(第 140 行)。

关于c - _file_ 或 _line_ 在 golang 中类似,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17640360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com