猿问

尝试检查路径时出错

我正在尝试检查windows我的 golang 应用程序中的目录。这是我的代码


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 请求从用户那里获得的路径所以我需要编写一个代码来检查跨平台路径。我该如何解决这个错误?


蝴蝶不菲
浏览 97回答 2
2回答

qq_花开花谢_0

您可以使用pathpackage 来处理 urls(' path/filepath' 用于文件路径),这也有助于平台独立性。所以您可以执行以下操作来创建路径givenPath = filepath.Join(DirectoryName, path)还有另一种方法可以做到这一点path := strings.Join([]string{DirectoryName, path}, string(os.PathSeparator))

哆啦的时光机

在用双引号括起来的 Go 字符串中,反斜杠开始转义码,例如\nor \u2318。为避免这种情况,您有两种选择:使用双反斜杠 ( \\),例如"C:\\Users"使用反引号 ( `) 而不是双引号来定义“原始字符串”,例如`C:\Users`
随时随地看视频慕课网APP

相关分类

Go
我要回答