小编典典

如何获取当前运行文件的目录?

go

在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中做正确的方法还是惯用的方法吗?


阅读 303

收藏
2020-07-02

共1个答案

小编典典

应该这样做:

import (
    "fmt"
    "log"
    "os"
    "path/filepath"
)

func main() {
    dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
    if err != nil {
            log.Fatal(err)
    }
    fmt.Println(dir)
}
2020-07-02