假设我有一个文件:
i_want_this_name.go:
package main
func main(){
filename := some_func() // should be "i_want_this_name"
}
如何在Go中获取正在执行的代码文件的名称?
假设我有一个文件:
i_want_this_name.go:
package main
func main(){
filename := some_func() // should be "i_want_this_name"
}
如何在Go中获取正在执行的代码文件的名称?
os.Args [0]
:
要使用它,请执行以下操作:
var Args []string
Args保存命令行参数,以程序名开头。
package main
import "os"
func main(){
filename := os.Args[0]
}
这对于你来说应该可行:
package main
import (
"fmt"
"runtime"
)
func main() {
_, fileName, lineNum, _ := runtime.Caller(0)
fmt.Printf("%s: %d\n", fileName, lineNum)
}