当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


GO Rel用法及代码示例

GO语言"path/filepath"包中"Rel"函数的用法及代码示例。

用法:

func Rel(basepath, targpath string)(string, error)

Rel 返回一个在词法上等效于 targpath 的相对路径,当它通过中间分隔符连接到 basepath 时。也就是说,Join(basepath, Rel(basepath, targpath)) 等价于 targpath 本身。成功时,返回的路径将始终相对于 basepath,即使 basepath 和 targpath 不共享任何元素。如果 targpath 不能相对于 basepath 或者如果需要知道当前工作目录来计算它,则会返回错误。 Rel 根据结果调用 Clean。

例子:

package main

import (
    "fmt"
    "path/filepath"
)

func main() {
    paths := []string{
        "/a/b/c",
        "/b/c",
        "./b/c",
    }
    base := "/a"

    fmt.Println("On Unix:")
    for _, p := range paths {
        rel, err := filepath.Rel(base, p)
        fmt.Printf("%q: %q %v\n", p, rel, err)
    }

}

输出:

On Unix:
"/a/b/c": "b/c" <nil>
"/b/c": "../b/c" <nil>
"./b/c": "" Rel: can't make ./b/c relative to /a

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Rel。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。