避免使用转义字符串

一、符号字面量

golang中符号字面量(rune literals)使用单引号表示,在单引号内的所有内容(除了换行符和没有转义的单引号)都会显示出来。

一些简单的符号字面量只占一个byte,例如'a',有些符号字面量可能占用多个byte,例如'ä',该值使用0xc3 0xa4两个比特表示。

二、字符串字面量

字符串字面量有两种表示方法: 1. 使用反引号表示原生(raw)字符串字面量,例如`foo` ; 2. 使用双引号表示解释(interpreted)字符串字面量,例如"foo"

在需要使用转义时,原生字符串字面量十分方便。例如表示unknown error:"test",原生字符串字面量只需要`unknown error:"test"` 即可,而解释字符串字面量则需要使用转义符:"unknown name:\"test\"",在表示复杂字符串时难以阅读。

原生字符串中的回车符\r会被丢弃,在原生字符串中换行就像在文本编辑器中换行一样:

usage := `CLI mode usage:
                    0. auto
                    1. scan
                    2. show_device
                    3. set_target $index
                    4. start
                    5. show_result
                    6. pull_log`

Last updated

Was this helpful?