path.Join for URL路径的可移植性

时间:2018-05-29 15:10:56

标签: go

我们正在使用path.Join来构建一组文件的网址:

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

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

是否可以安全地在用于网址的路径上使用path.Join?是否存在特定于URL的替代方法?

1 个答案:

答案 0 :(得分:4)

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

另请参阅:维基百科在URIs/URLsRFC 3986上的条目,用于定义它们。