两者的文档和代码看起来都一样。 为什么有两个重复的功能?
答案 0 :(得分:3)
它们不是“重复”,它们是不同包的一部分,因此您应该在其包的 context 中检查和解释它们。
程序包path
“实现了用于操作平台/操作系统的斜杠分离路径” 独立的实用程序例程。 / p>
包path/filepath
“实现实用程序例程,以与目标操作系统定义的文件路径兼容的方式操作文件名路径”。
因此,例如path/filepath
处理操作系统之间的路径分隔符差异。
如果您仔细查看filepath.Match()
的文档,则结束于:
在Windows上,禁用转义功能。相反,'\'被视为路径分隔符。
还有术语解释差异。 path.Match()
:
term:
'*' matches any sequence of non-/ characters
'?' matches any single non-/ character
filepath.Match()
:
term:
'*' matches any sequence of non-Separator characters
'?' matches any single non-Separator character
答案 1 :(得分:1)
filepath
包中的一个是依赖于操作系统的,path
包中的一个总是使用斜杠(/)作为分隔符。