當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。