Go path包

68 阅读2分钟

文章首发于个人博客

path包

  • path包仅适用于处理由正斜杠/分隔的路径,例如URL

  • 不能处理带有盘符或反斜杠\Windows路径。

包函数

方法含义说明
Base返回路径的最后一个元素会先移除路径末尾的斜杠,空路径返回.,纯斜杠返回/
Clean返回与输入路径等效的最短路径名
Dir返回路径的目录部分
Ext返回路径中以.分隔的文件扩展名.则返回空字符串
IsAbs判断路径是否为绝对路径只有以/开头的才是绝对路径
Join将路径元素连接成路径
Match判断路径是否匹配模式
Split将路径拆分为目录和文件

filepath包

  • 处理方式与目标操作系统定义的文件路径相兼容。

包函数

方法含义说明
Abs返回绝对路径
Base返回路径的最后一个元素会先移除路径末尾的斜杠,空路径返回.,纯斜杠返回/
Clean返回与输入路径等效的最短路径名
Dir返回路径的目录部分
EvalSymlinks返回路径中的符号链接所指向的真实路径
Ext返回路径中以.分隔的文件扩展名.则返回空字符串
FromSlash将路径中/的斜杠替换为特定操作系统的分隔符字符linux中的\不会被替换
ToSlash将路径中特定操作系统的分隔符字符替换为/linux中的\不会被替换
Glob返回与模式匹配的所有路径
IsAbs判断路径是否为绝对路径只有以/开头的才是绝对路径
IsLocal判断路径是否为本地路径,即是否在当前路径下仅词法分析,不考虑文件系统
Join将路径元素连接成路径
Localize将一个以/分隔的路径转换为一个操作系统路径
Match判断路径是否匹配模式
Rel返回从basepathtargpath的相对路径
Split将路径拆分为目录和文件
SplitList将一个包含多个以特定操作系统路径分隔符(如:;)分隔的路径字符串拆分成单个的路径元素分隔符取决于当前操作系统
VolumeName返回路径的卷名适用于Windows平台
Walk遍历路径下的所有目录和文件并对其调用fn
WalkDir遍历路径下的所有目录和文件并对其调用fnWalk更优更高效