我正在尝试检查golang应用程序中的windows
目录。
这是我的代码
func createWalletDirectory(path string) (err error) {
_, err = os.Stat(path)
if os.IsNotExist(err) {
return err
}
path = filepath.FromSlash(path)
path = path + string(os.PathSeparator) + DirectoryName
err = os.Mkdir(path, 0666)
return
}
所以在函数的第一行,我得到一个错误,看起来像这样
字符串转义码中的无效字符'i'
示例路径:C:\Users
注意:我通过POST请求从用户获得的路径 因此,我需要编写代码来检查跨平台路径。 我该如何解决这个错误?
答案 0 :(得分:3)
您可以使用path
包来处理urls(文件路径为'path/filepath
'),这也有助于平台独立性。因此,您可以按照以下步骤创建路径
givenPath = filepath.Join(DirectoryName, path)
还有另一种方法
path := strings.Join([]string{DirectoryName, path}, string(os.PathSeparator))
答案 1 :(得分:1)
在用双引号引起来的Go字符串中,反斜杠开始转义代码,例如\n
或\u2318
。为避免这种情况,您有两种选择:
\\
),例如"C:\\Users"
`
)而不是双引号来定义“原始字符串”,例如`C:\Users`