Go中的path和path.filepath包之间的区别是什么

wai*_*kuo 18 path go filepath

我发现包路径和包路径/文件路径中有很多类似的功能.我尝试了几种常见的路径,/var/log/something但没有发现任何差异.什么时候应该path直接使用,什么时候应该使用filepath

Ben*_*ell 28

有什么不同?

虽然功能相似,但路径路径/文件路径提供了不同的实现.Filepath依赖于os包来处理路径字符串时选择目标运行时的文件分隔符和其他不同的组件.

您可以将os源看作是各种实用程序函数的不同实现.这允许库抽象出操作系统特定的细节,并有助于实现可移植性.的路径/文件路径 依赖图说明了如何包取决于OS包.您可以将其与路径 依赖关系图进行比较.我鼓励你进入文件路径路径源代码来观察这种关系.

我什么时候使用?

处理文件时应使用filepath.这可确保您的路径与实际文件匹配,而不管底层运行时.的路径库应该模型内使用或者当路径可以被序列化或与其他程序进行通信.这确保了无论运行何种编程平台,都使用单一格式化方案.具有一致的格式使得关于模型的推理更通用且更容易理解.