【发布时间】:2015-09-28 17:49:36
【问题描述】:
假设我有一个文件:
i_want_this_name.go:
package main
func main(){
filename := some_func() // should be "i_want_this_name"
}
如何在 go 中获取执行代码的文件名?
【问题讨论】:
标签: go
假设我有一个文件:
i_want_this_name.go:
package main
func main(){
filename := some_func() // should be "i_want_this_name"
}
如何在 go 中获取执行代码的文件名?
【问题讨论】:
标签: go
命令的名称可以在os.Args[0] 中找到,如the os package 的文档中所述:
var Args []stringArgs 保存命令行参数,以程序名称开头。
要使用它,请执行以下操作:
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)
}