在nodejs中,我使用__dirname。在Golang中这等效吗?
我已经在Google上搜索并找到了这篇文章http://andrewbrookins.com/tech/golang-get-directory-of-the-current-file/。他在哪里使用以下代码
_, filename, _, _ := runtime.Caller(1)
f, err := os.Open(path.Join(path.Dir(filename), "data.csv"))
但这是在Golang中做正确的方法还是惯用的方法吗?
0
,不1
,要runtime.Caller()
。
runtime.Caller(0)
将为您提供源文件的路径,例如$GOPATH/src/packagename/main.go
。该线程中的其他答案正在尝试返回可执行文件的路径(如$GOPATH/bin/packagename
)。