In nodejs uso __dirname . Qual è l'equivalente di questo in Golang?
Ho cercato su Google e ho scoperto questo articolo http://andrewbrookins.com/tech/golang-get-directory-of-the-current-file/ . Dove usa sotto il codice
_, filename, _, _ := runtime.Caller(1)
f, err := os.Open(path.Join(path.Dir(filename), "data.csv"))
Ma è il modo giusto o il modo idiomatico di fare a Golang?
0
, non 1
a runtime.Caller()
.
runtime.Caller(0)
ti darà il percorso del file sorgente, come $GOPATH/src/packagename/main.go
. Le altre risposte in questo thread stanno provando a restituire il percorso dell'eseguibile (come $GOPATH/bin/packagename
).