Tsh*_*ane 8 string ansi-escape go
在 Go 中是否可以将原始字符串文字转换为解释字符串文字?(参见语言规范)
\n我有一个原始字符串文字,但我想将使用解释字符串文字 \xe2\x80\x94 得到的内容打印到控制台,即使用转义序列格式化的文本输出。
\n例如,打印这个原始字符串文字给出
\ns := `\\033[1mString in bold.\\033[0m`\nprintln(s) // \\033[1mString in bold.\\033[0m\n
Run Code Online (Sandbox Code Playgroud)\n但我想要得到同样的结果
\ns := "\\033[1mString in bold.\\033[0m"\nprintln(s) // String in bold. (In bold)\n
Run Code Online (Sandbox Code Playgroud)\n对于上下文,我尝试打印使用转义序列格式化的文本文件的内容
\nf, _ := := ioutil.ReadFile("file.txt")\nprintln(string(f))\n
Run Code Online (Sandbox Code Playgroud)\n但输出是前一种方式。
\ns := `\033[1mString in bold.\033[0m`
s2, err := strconv.Unquote(`"` + s + `"`)
if err != nil {
panic(err)
}
fmt.Println("normal", s2)
Run Code Online (Sandbox Code Playgroud)
这将输出:
普通字符串以粗体显示。
请注意,string
传递给的值strconv.Unquote()
必须包含换行双引号或反引号,并且由于源s
不包含换行引号,因此我在前面和后缀上添加了如下内容:
`"` + s + `"`
Run Code Online (Sandbox Code Playgroud)
查看相关问题: