使用标准库将与基础操作系统无关的反斜杠分隔符连接路径

filepath.Join allows to join paths by using the path separator of the underlying os (basically \ on Windows, / everywhere else).

Is there a way to force using the Windows path separator \ for joining paths with the Go standard library no matter what the actual running operating system is?

No, not with the standard lib's path/filepath package. You have to use strings.Join() instead.

If you do rely on "side-effects" of filepath.Join() (e.g. adding a separator if necessary, calling Clean() etc.), then easiest would be to call filepath.Join(), then replace slashes with backslashes, e.g. using strings.ReplaceAll().

Note that the replace-all method works because slash / is a reserved character and cannot appear in names other than separating folders and files. For details, see Naming Files, Paths, and Namespaces.

See related filepath.Join removes dot.