假设它main.go位于/a/b/c/。我想知道的是所在的目录main.go,也就是/a/b/c我执行文件的时候。我搜索了互联网并尝试了许多解决方案,但没有人给我正确的路径。路径应该与 pwd 无关。以下 4 个示例应给出相同的路径,/a/b/c. 我怎样才能实现它?/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贡献1810条经验 获得超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 关注
- 128 浏览
添加回答
举报
0/150
提交
取消
