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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。