用需要转义的字符在golang中创建一个字符串

Tec*_*esk 1 string escaping go

我正在尝试制作一个包含以下内容的字符串变量:

"C:\Program Files\Sublime Text 3\sublime_text.exe" C:\Users\User\Desktop\Guess.py

不幸的是,我没有成功这样做。有没有办法将文本按原样放入变量、双引号和所有内容中?

Osw*_*ann 7

在您的示例字符串中,您有需要转义的字符:"\

fmt.Println("\"C:\\Program Files\\Sublime Text 3\\sublime_text.exe\" C:\\Users\\User\\Desktop\\Guess.py") 
Run Code Online (Sandbox Code Playgroud)

您还可以使用反引号来创建不需要转义这些字符的原始字符串。

fmt.Println(`"C:\Program Files\Sublime Text 3\sublime_text.exe" C:\Users\User\Desktop\Guess.py`) 
Run Code Online (Sandbox Code Playgroud)

逃生名单:

\a   U+0007 alert or bell
\b   U+0008 backspace
\f   U+000C form feed
\n   U+000A line feed or newline
\r   U+000D carriage return
\t   U+0009 horizontal tab
\v   U+000b vertical tab
\\   U+005c backslash
\'   U+0027 single quote  (valid escape only within rune literals)
\"   U+0022 double quote  (valid escape only within string literals)
Run Code Online (Sandbox Code Playgroud)

查看官方文档。