nodejsでは__dirnameを使用します。Golangでこれに相当するものは何ですか?
私はググってこの記事を見つけました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
)を返そうとしています。