filepath
概述
filepath包的功能和path包类似,但是对于不同操作系统提供了更好的支持。filepath包能够自动的根据不同的操作系统文件路径进行转换,所以如果你有跨平台的需求,你需要使用filepath。
与path包相同的函数
filepath包中的函数和path包很类似,其中对应函数的功能相同,只是一个可以跨平台,一个不能,所以这里不详细展开,可以从 path 中获取这些函数的详细说明。主要函数如下:
- func Base(path string) string
- func Dir(path string) string
- func Ext(path string) string
- func Join(elem …string) string
- func Split(path string) (dir, file string)
其他函数
剩下的还有两个函数值得一说,一个是Abs函数,可以将一个文件路径转换为绝对路径。函数声明如下:
1 | func Abs(path string) (string, error) |
另一个是Walk函数,和filepath包中的其他函数不同,它并不对文件路径字符串进行操作,而可以访问更多文件信息。它通过遍历的方式对目录中的每个子路径进行访问,函数接收两个参数,一个是路径名,另一个是遍历函数WalkFunc,函数声明如下:
1 | func Walk(root string, walkFn WalkFunc) error |
WalkFunc接收三个参数,分别是当前子路径,路径的FileInfo对象,以及一个可能的访问错误信息。下面是一个简单的示例,打印了当前目录的所有文件。
1 | package main |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!










