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)を返そうとしています。