我正在嘗試檢查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 請求從用戶那里獲得的路徑所以我需要編寫一個代碼來檢查跨平臺路徑。我該如何解決這個錯誤?
2 回答

qq_花開花謝_0
TA貢獻1835條經驗 獲得超7個贊
您可以使用path
package 來處理 urls(' path/filepath
' 用于文件路徑),這也有助于平臺獨立性。所以您可以執行以下操作來創建路徑
givenPath = filepath.Join(DirectoryName, path)
還有另一種方法可以做到這一點
path := strings.Join([]string{DirectoryName, path}, string(os.PathSeparator))

哆啦的時光機
TA貢獻1779條經驗 獲得超6個贊
在用雙引號括起來的 Go 字符串中,反斜杠開始轉義碼,例如\n
or?\u2318
。為避免這種情況,您有兩種選擇:
使用雙反斜杠 (?
\\
),例如"C:\\Users"
使用反引號 (?
`
) 而不是雙引號來定義“原始字符串”,例如`C:\Users`
- 2 回答
- 0 關注
- 118 瀏覽
添加回答
舉報
0/150
提交
取消