一、go应用os.Getwd()获取当前目录的绝对路径,等同于pwd

func TestPwd(t *testing.T) {    pwd, err := os.Getwd()    t.Log(pwd, err)}

输入:

/Users/zhanghaisheng/study/dataStructure/file <nil>

二、源码浏览os.Getwd()

源码门路在 src/os/getwd.go

// Getwd 获取当前目录绝对路径func Getwd() (dir string, err error) {    if runtime.GOOS == "windows" || runtime.GOOS == "plan9" {        return syscall.Getwd()    }    // Clumsy but widespread kludge:    // if $PWD is set and matches ".", use it.    dot, err := statNolog(".")    if err != nil {        return "", err    }    dir = Getenv("PWD")    if len(dir) > 0 && dir[0] == '/' {        d, err := statNolog(dir)        if err == nil && SameFile(dot, d) {            return dir, nil        }    }.........省略

咱们看到 有一行代码

dir = Getenv("PWD")

阐明在底层,这个函数其实也是调用了 零碎的pwd命令。