您的当前位置:首页>交易 > 正文

【天天播资讯】Go-标准库-path

  • 2023-04-27 19:31:44 来源:腾讯云

Go语言标准库中的path包提供了许多有用的函数,用于处理文件路径和目录路径。

路径拼接

path包中的Join函数可以将多个路径拼接成一个完整的路径,如下所示:


(相关资料图)

package mainimport ("fmt""path")func main() {dir := "/usr/local"file := "bin/go"fullPath := path.Join(dir, file)fmt.Println(fullPath)}

上面的代码输出为/usr/local/bin/go。Join函数会自动添加路径分隔符,同时也会去除多余的分隔符。

路径分割

path包中的Split函数可以将路径分割成目录和文件名两部分,如下所示:

package mainimport ("fmt""path")func main() {path := "/usr/local/bin/go"dir, file := path.Split(path)fmt.Println("dir:", dir)fmt.Println("file:", file)}

上面的代码输出为:

dir: /usr/local/bin/file: go

获取文件名和扩展名

path包中的Base函数可以获取路径中的文件名,如下所示:

package mainimport ("fmt""path")func main() {path := "/usr/local/bin/go"fileName := path.Base(path)fmt.Println("fileName:", fileName)}

上面的代码输出为go。如果路径以斜杠结尾,则返回空字符串。

path包中的Ext函数可以获取路径中的扩展名,如下所示:

package mainimport ("fmt""path")func main() {path := "/usr/local/bin/go.exe"ext := path.Ext(path)fmt.Println("ext:", ext)}

上面的代码输出为.exe

判断是否为绝对路径

path包中的IsAbs函数可以判断路径是否为绝对路径,如下所示:

package mainimport ("fmt""path")func main() {absPath := "/usr/local/bin/go"relPath := "bin/go"fmt.Println("IsAbs:", path.IsAbs(absPath))fmt.Println("IsAbs:", path.IsAbs(relPath))}

上面的代码输出为:

IsAbs: trueIsAbs: false

获取相对路径

path包中的Rel函数可以获取两个路径之间的相对路径,如下所示:

package mainimport ("fmt""path")func main() {basePath := "/usr/local"targetPath := "/usr/local/bin/go"relPath, err := path.Rel(basePath, targetPath)if err != nil {fmt.Println(err)}fmt.Println("relPath:", relPath)}

上面的代码输出为bin/go

标签:

推荐阅读

【天天播资讯】Go-标准库-path

上面的代码输出为 usr local bin go。Join函数会自动添加路径分隔符,同时也会去除多余的分隔符。

银保监会:贷款利率总体保持平稳 推动小微企业综合融资成本逐步降低

南方财经4月27日电,银保监会发布《关于2023年加力提升小微企业金融服务质量的通知》,《通知》明确了全年

石晋勇 重点聚焦

1、石晋勇,男,律师,四川石合龙律师事务所合伙人、主任。2、第一、第二届成都仲裁委员会仲裁员,多次被评

【环球播资讯】谋转型、谈创新、促融合 多位院士建言数字经济发展新风向

人民网福州4月27日电(记者许维娜、林盈)抓住数字化发展新机遇正当其时。当前,如何探索数字经济的新增长热

【环球播资讯】2023年北部湾汽车展展位图

2023北部湾(南宁)汽车展展会时间:4月29日-5月2日展会地点:南宁国际会展中心展示图:全场综合让超千万五一

猜您喜欢

【版权及免责声明】凡注明"转载来源"的作品,均转载自其它媒体,转载目的在于传递更多的信息,并不代表本网赞同其观点和对其真实性负责。亚洲汽车网倡导尊重与保护知识产权,如发现本站文章存在内容、版权或其它问题,烦请联系。 联系方式:8 86 239 5@qq.com,我们将及时沟通与处理。

交易