如何将存储在变量中的目录路径返回 1 级

Jav*_*las 5 path go

我试图在 Go Lang 的存储变量中返回 1 个级别,我该怎么做?

Origin:
"/root/path"

Expected:
"/root/"
Run Code Online (Sandbox Code Playgroud)

有没有可以自动做到这一点的功能?还是我必须手动完成?

谢谢。

Jim*_*imB 6

父目录始终可以由 引用..,因此您可以将其附加到您的路径中。

例如:

p := "/root/path/"
p = filepath.Clean(filepath.Join(p, ".."))
fmt.Println(p)
// "/root"
Run Code Online (Sandbox Code Playgroud)

如果path不是目录本身(或者您确定它不会以路径分隔符结尾),那么您可以使用该Dir函数来获取包含目录。Dir 返回除路径的最后一个元素之外的所有元素,通常是路径的目录

p := "/root/path"
p = filepath.Dir(p)
fmt.Println(p)
// "/root"
Run Code Online (Sandbox Code Playgroud)