path包的使用

package main;import ("fmt""path"
)//go语言path包的学习func main() {//返回路径的最后一个元素fmt.Println(path.Base("./a/b/c"));//如果路径为空字符串,返回.fmt.Println(path.Base(""));//如果路径只有斜线,返回/fmt.Println(path.Base("///"));//返回等价的最短路径//1.用一个斜线替换多个斜线//2.清除当前路径.//3.清除内部的..和他前面的元素//4.以/..开头的,变成/fmt.Println(path.Clean("./a/b/../"));//返回路径最后一个元素的目录//路径为空则返回.fmt.Println(path.Dir("./a/b/c"));//返回路径中的扩展名//如果没有点,返回空fmt.Println(path.Ext("./a/b/c/d.jpg"));//判断路径是不是绝对路径fmt.Println(path.IsAbs("./a/b/c"));fmt.Println(path.IsAbs("/a/b/c"));//连接路径,返回已经clean过的路径fmt.Println(path.Join("./a", "b/c", "../d/"));//匹配文件名,完全匹配则返回truefmt.Println(path.Match("*", "a"));fmt.Println(path.Match("*", "a/b/c"));fmt.Println(path.Match("\\b", "b"));//分割路径中的目录与文件fmt.Println(path.Split("./a/b/c/d.jpg"));
}

filepath包的使用

package main;import ("path/filepath""fmt""os"
)//学习filepath包,兼容各操作系统的文件路径func main() {//返回所给路径的绝对路径path, _ := filepath.Abs("./1.txt");fmt.Println(path);//返回路径最后一个元素fmt.Println(filepath.Base("./1.txt"));//如果路径为空字符串,返回.fmt.Println(filepath.Base(""));//如果路径只有斜线,返回/fmt.Println(filepath.Base("///"));//返回等价的最短路径//1.用一个斜线替换多个斜线//2.清除当前路径.//3.清除内部的..和他前面的元素//4.以/..开头的,变成/fmt.Println(filepath.Clean("C:/a/b/../c"));fmt.Println(filepath.Clean("./1.txt"));//返回路径最后一个元素的目录//路径为空则返回.fmt.Println(filepath.Dir("./a/b/c"));fmt.Println(filepath.Dir("C:/a/b/c"));//返回链接文件的实际路径path2, _ := filepath.EvalSymlinks("1.lnk");fmt.Println(path2);//返回路径中的扩展名//如果没有点,返回空fmt.Println(filepath.Ext("./a/b/c/d.jpg"));//将路径中的/替换为路径分隔符fmt.Println(filepath.FromSlash("./a/b/c"));//返回所有匹配的文件match, _ := filepath.Glob("./*.go");fmt.Println(match);//判断路径是不是绝对路径fmt.Println(filepath.IsAbs("./a/b/c"));fmt.Println(filepath.IsAbs("C:/a/b/c"));//连接路径,返回已经clean过的路径fmt.Println(filepath.Join("C:/a", "/b", "/c"));//匹配文件名,完全匹配则返回truefmt.Println(filepath.Match("*", "a"));fmt.Println(filepath.Match("*", "C:/a/b/c"));fmt.Println(filepath.Match("\\b", "b"));//返回以basepath为基准的相对路径path3, _ := filepath.Rel("C:/a/b", "C:/a/b/c/d/../e");fmt.Println(path3);//将路径使用路径列表分隔符分开,见os.PathListSeparator//linux下默认为:,windows下为;fmt.Println(filepath.SplitList("C:/windows;C:/windows/system"));//分割路径中的目录与文件dir, file := filepath.Split("C:/a/b/c/d.jpg");fmt.Println(dir, file);//将路径分隔符使用/替换fmt.Println(filepath.ToSlash("C:/a/b"));//返回分区名fmt.Println(filepath.VolumeName("C:/a/b/c"));//遍历指定目录下所有文件filepath.Walk("./", func(path string, info os.FileInfo, err error) error {fmt.Println(path);return nil;});
}

转载于:https://www.cnblogs.com/jkko123/p/6923962.html

go语言path包和filepath包的学习与使用相关推荐

  1. go语言path包和filepath包的学习和使用

    目录 path包 path/filepath包 path包 package mainimport ("fmt""path" )func main() {//返回 ...

  2. Golang中path包和filepath包使用方法

    path path实现了对斜杠"/"分隔的路径的实用操作函数. path.Base --获取文件名 func Base(path string) string Base函数返回路径 ...

  3. Go语言学习之path/filepath包(the way to go)

    生命不止,继续 go go go !!! 文件以及文件夹的路径在编程中经常遇到,在C++工程中,我们往往自己写一个文件,里面塞满了关于路径的操作. golang很好,为我们提供了path/filepa ...

  4. golang中的path和filepath包

    路径分割符 const (Separator = os.PathSeparator // 路径分隔符(分隔路径元素)ListSeparator = os.PathListSeparator // 路径 ...

  5. Golang中path/filepath包

    path/filepath包下的相关函数 1. ToSlash函数 func ToSlash(path string) string 功能:将path中平台相关的路径分隔符转换成'/' 例如:wind ...

  6. Golang - path/filepath 包

    ------------------------------------------------------------filepath 中的函数会根据不同平台做不同的处理,比如路径分隔符.卷名等. ...

  7. R语言·文本挖掘︱Rwordseg/rJava两包的安装(安到吐血)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- R语言·文本挖掘︱Rwordseg/rJava ...

  8. Go语言圣经 - 第10章 包和工具 - 10.7 工具

    第10章 包和工具 现在随便一个小程序可能就包含10000个函数,但是我们不可能一个个去构建,大部分还是来自于他人,这些函数通过类似包和模块的方式被重用 go语言的包超过100个,可以在终端中使用go ...

  9. R语言机器学习Caret包(Caret包是分类和回归训练的简称)、数据划分、数据预处理、模型构建、模型调优、模型评估、多模型对比、模型预测推理

    R语言机器学习Caret包(Caret包是分类和回归训练的简称).数据划分.数据预处理.模型构建.模型调优.模型评估.多模型对比.模型预测推理 目录

最新文章

  1. 使用 spring boot 开发通用程序
  2. Wire:Linux开源聊天应用
  3. AjaxJson笔记(1)
  4. 涨知识 | 100个中国最难读的地名,第一个就折了
  5. php mysql ppt,7PHP访问数据库分析.ppt
  6. solaris下修改 IPMP 配置
  7. linux7.0下mysql_CentOS 7.0下使用yum安装MySQL
  8. HDU2147 kiki's game
  9. 基于CWMP(TR069)协议ACS服务器的搭建
  10. 不再害怕打字慢(python信息轰炸)
  11. 还在使用手写笔记?又或者使用TXT、Word做笔记?NoNoNo,你需要一款合适的电子笔记!
  12. 算法和数据结构(b站尚硅谷韩老师教程学习笔记)
  13. 2个令人震撼的Demo
  14. devops summary
  15. Java(JavaEE)学习线路图
  16. C语言采药动态规划,采药--动态规划
  17. 央行:规范金融业开源应用与发展的指导意见
  18. 最新安徽安全员B考试选择题预测题库
  19. 苹果/Mac电脑怎么卸载软件?软件卸载不了怎么办?
  20. matlab printf格式化输出,Shell printf格式化输出命令

热门文章

  1. [李宏毅老师深度学习视频] 生成式对抗网络(GAN)【持续更新】
  2. 路由器老断网,怎么办啊,老这样受不了啊!求解决方法!
  3. Oracle复制表数据
  4. 一文详解xgb参数(收藏版)
  5. 编程基础之循环基础——多边形内角和;
  6. linux 触屏测试
  7. 手绘—铅笔手绘卡通头像
  8. Html div和span详解
  9. yolov5——train.py代码【注释、详解、使用教程】
  10. 收费最低的云存储_亿方云好不好?亿方云怎么收费?