英文:
why cant I write a windows filepath like this in golang ?
问题
我正在尝试在Windows上使用Golang读取文件。路径是C:\Users\lenovo\Downloads\1.jpeg
,我写的代码如下:
filepath := "C:\Users\lenovo\Downloads.jpeg"
这个声明和赋值本身是非法的,因为在VSCode中会被标记为红色。我一直在阅读关于Golang如何使用filepath包处理路径问题的资料,但它并没有涵盖\
作为分隔符的情况。
顺便说一下,如果在上述语句中的每个\
后面添加一个\
,它就可以工作了。
英文:
I am trying to read a file on windows in golang. The path is C:\Users\lenovo\Downloads\1.jpeg
, and I write like this:
filepath := "C:\Users\lenovo\Downloads\1.jpeg"
This declaration and assignment is illegal by itself as it is marked red in vscode. I've been reading about how golang uses filepath package to handle path issues, but it does not cover the situation where \
is the separator.
By the way, if a \
is added after each \
in the statement above, it works.
答案1
得分: 3
我不使用vscode,但我知道\
是一个转义字符。
\U
、\l
和\D
没有特定的含义。
所以你应该使用以下代码:
filepath := "C:\\Users\\lenovo\\Downloads\.jpeg"
英文:
I don't use vscode but I know \
is an escape character.
And there is no meaning for \U, \l, and \D.
So you should use,
filepath := "C:\\Users\\lenovo\\Downloads\\1.jpeg"
答案2
得分: 3
你可以使用反引号来表示原始字符串,其中没有任何转义字符:
path := `C:\Users\lenovo\Downloads.jpeg`
英文:
Alternatively use backticks for a raw string where nothing is escaped:
path := `C:\Users\lenovo\Downloads.jpeg`
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论