英文:
How to get executing code's file's name in go?
问题
你好!以下是你要翻译的内容:
假设我有一个文件:
i_want_this_name.go:
package main
func main(){
filename := some_func() // 应该是 "i_want_this_name"
}
如何在Go语言中获取正在执行的代码文件的名称?
英文:
Say I have a file:
i_want_this_name.go:
package main
func main(){
filename := some_func() // should be "i_want_this_name"
}
How do I get the executing code's file's name in go?
答案1
得分: 2
命令的名称可以在文档中的os包中的os.Args[0]
找到:
> var Args []string
>
> Args保存命令行参数,从程序名称开始。
要使用它,请按照以下步骤进行操作:
package main
import "os"
func main(){
filename := os.Args[0]
}
英文:
The name of the command can be found in os.Args[0]
as states in the documentation for the os package:
> var Args []string
>
> Args hold the command-line arguments, starting with the program name.
To use it, do the following:
package main
import "os"
func main(){
filename := os.Args[0]
}
答案2
得分: 2
这是适用于您的代码:
package main
import (
"fmt"
"runtime"
)
func main() {
_, fileName, lineNum, _ := runtime.Caller(0)
fmt.Printf("%s: %d\n", fileName, lineNum)
}
请注意,这是一个打印当前文件名和行号的简单示例。
英文:
This should work for you:
package main
import (
"fmt"
"runtime"
)
func main() {
_, fileName, lineNum, _ := runtime.Caller(0)
fmt.Printf("%s: %d\n", fileName, lineNum)
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论