假設(shè)它main.go位于/a/b/c/。我想知道的是所在的目錄main.go,也就是/a/b/c我執(zhí)行文件的時候。我搜索了互聯(lián)網(wǎng)并嘗試了許多解決方案,但沒有人給我正確的路徑。路徑應(yīng)該與 pwd 無關(guān)。以下 4 個示例應(yīng)給出相同的路徑,/a/b/c. 我怎樣才能實現(xiàn)它?/a/b/c$ go run main.go/a/b$ go run c/main.go/a$ go run b/c/main.go~$ go run a/b/c/main.go
1 回答

森欄
TA貢獻(xiàn)1810條經(jīng)驗 獲得超5個贊
嘗試這個:
package main
import (
"fmt"
"path"
"runtime"
)
func getDirectory() string {
_, file, _, ok := runtime.Caller(1)
if ok {
return path.Dir(file)
}
return ""
}
func main() {
address := getDirectory()
fmt.Println(address)
}
- 1 回答
- 0 關(guān)注
- 106 瀏覽
添加回答
舉報
0/150
提交
取消