golang 中 path 包的 Dir 和 Join 用法介绍

1)path 包的 Dir 用法。
官方描述为:

 Dir返回路径除去最后一个路径元素的部分,即该路径最后一个元素所在的目录。在使用Split去掉最后一个元素后,会简化路径并去掉末尾的斜杠。如果路径是空字符串,会返回".";如果路径由1到多个斜杠后跟0到多个非斜杠字符组成,会返回"/";其他任何情况下都不会返回以斜杠结尾的路径。

示例代码:

package main

import (
    "fmt"
    "path"
)

func main() {
    fmt.Println(" :", path.Dir(""))
    fmt.Println(". :", path.Dir("."))
    fmt.Println("a :", path.Dir("a"))
    fmt.Println("/ :", path.Dir("/"))
    fmt.Println("/a :", path.Dir("/a"))
    fmt.Println("/a/b/ :", path.Dir("/a/b/"))
    fmt.Println("/a/b :", path.Dir("/a/b"))
    fmt.Println("a/b :", path.Dir("a/b"))
    fmt.Println("a/b/ :", path.Dir("a/b/"))
    fmt.Println("/// :", path.Dir("///"))
    fmt.Println("///a :", path.Dir("///a"))
}

输出如下:

 : .
. : .
a : . 
/ : /
/a : /
/a/b/ : /a/b
/a/b : /a
a/b : a
a/b/ : a/b
/// : /
///a : /

2)path 包的 Join 用法。
官方描述为:

 Join函数可以将任意数量的路径元素放入一个单一路径里,会根据需要添加斜杠。结果是经过简化的,所有的空字符串元素会被忽略。

示例代码:

package main

import (
    "fmt"
    "path"
)

func main(){
    fmt.Println(", :", path.Join("", ""))
    fmt.Println("/, :", path.Join("/", ""))
    fmt.Println(", / :", path.Join("", "/"))
    fmt.Println("/, / :", path.Join("/", "/"))
    fmt.Println("/a, :", path.Join("/a", ""))
    fmt.Println(", /a :", path.Join("", "/a"))
    fmt.Println("/a, / :", path.Join("/a", "/"))
    fmt.Println("/, /a :", path.Join("/", "/a"))
    fmt.Println("a, b :", path.Join("a", "b"))
    fmt.Println("/a, /b :", path.Join("/a", "/b"))
    fmt.Println(", // :", path.Join("", "//"))
    fmt.Println("//,  :", path.Join("//", ""))
    fmt.Println(", /a :", path.Join("", "/a"))
    fmt.Println("/a, :", path.Join("/a", ""))
    fmt.Println("/a, /b :", path.Join("/a", "/b"))
    fmt.Println("a, /b :", path.Join("a", "/b"))
    fmt.Println("/a, /b :", path.Join("/a", "/b"))
}

输出为:

, : 
/, : /
, / : /
/, / : /
/a, : /a
, /a : /a
/a, / : /a
/, /a : /a
a, b : a/b
/a, /b : /a/b
, // : /
//,  : /
, /a : /a
/a, : /a
/a, /b : /a/b
a, /b : a/b
/a, /b : /a/b
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值