func IsAbs(path string) bool 返回路径是否是一个绝对路径

    func Abs(path string) (string, error) Abs函数返回path代表的绝对路径,如果path不是绝对路径,会加入当前工作目录以使之成为绝对路径。因为硬链接的存在,不能保证返回的绝对路径是唯一指向该地址的绝对路径。

    func Split(path string) (dir, file string) 将路径从最后一个斜杠后面位置分隔为两个部分(dir和file)并返回。如果路径中没有斜杠,函数返回值dir会设为空字符串,file会设为path

    func Join(elem …string) string 以将任意数量的路径元素放入一个单一路径里,会根据需要添加斜杠

    func Dir(path string) string 返回路径除去最后一个路径元素的部分,即该路径最后一个元素所在的目录

    func Base(path string) string 返回最后一个路径元素的部分

    func Ext(path string) string 返回path文件扩展名

    func Clean(path string) string 通过单纯的词法操作返回和path代表同一地址的最短路径

    1. 1. 将连续的多个斜杠替换为单个斜杠
    2. 2. 剔除每一个.路径名元素(代表当前目录)
    3. 3. 剔除每一个路径内的..路径名元素(代表父目录)和它前面的非..路径名元素
    4. 4. 剔除开始一个根路径的..路径名元素,即将路径开始处的"/.."替换为"/"
    1. Clean("a/c") = "a/c"
    2. Clean("a//c") = "a/c"
    3. Clean("a/c/.") = "a/c"
    4. Clean("a/c/b/..") = "a/c"
    5. Clean("/../a/c") = "/a/c"
    6. Clean("/../a/b/../././/c") = "/a/c"