首页 > 解决方案 > path.Join 的可移植性用于 URL 路径

问题描述

我们path.Join用来构造一组文件的 URL:

urlPath := "/"
if isPrimaryLocale {
    urlPath = path.Join(urlPath, locale)
}
urlPath = path.Join(urlPath, itemName)

我很好奇这种方法的可移植性,因为 afaik 将在 Windows 上使用不同的路径分隔符(我们不关心,因为我们总是部署到 Linux,但想知道其他应用程序)。

path.Join在用于 URL 的路径上使用是否安全?是否有特定于 URL 的替代方法?

标签: go

解决方案


是的,path.Join是安全的,因为URL 不是特定于平台的,它们总是用作/目录分隔符。如果您需要特定于平台的文件路径处理,请使用filepath而不是path.

另请参阅:维基百科关于URI/URL的条目和定义它们的RFC 3986 。


推荐阅读