[]byte("\xd2\xfd\x88g\xd5\r-\xfe") 是一个解释字符串文字,转换为[]byte 类型,一个byte 切片。这里它被分成字节值:
[\xd2, \xfd, \x88, g, \xd5, \r, -, \xfe]
或者,以十六进制字节表示,
[d2, fd, 88, 67, d5, 0d, 2d, fe]
一种记录值的方法,
package main
import "log"
func main() {
b := []byte("\xd2\xfd\x88g\xd5\r-\xfe")
log.Printf("%q\n", b)
}
游乐场:https://play.golang.org/p/BIh_EuvoxU-
输出:
2009/11/10 23:00:00 "\xd2\xfd\x88g\xd5\r-\xfe"
The Go Programming Language Specification
String literals
字符串字面量表示一个字符串常量,从
连接一系列字符。有两种形式:原始
字符串文字和解释的字符串文字。
原始字符串文字是反引号之间的字符序列,如
foo。在引号内,可以出现除反引号外的任何字符。
原始字符串文字的值是由
之间的未解释(隐式 UTF-8 编码)字符
引号;特别是,反斜杠没有特殊含义,并且
字符串可能包含换行符。里面的回车符('\r')
原始字符串文字会从原始字符串值中丢弃。
解释的字符串字面量是 double 之间的字符序列
引号,如“bar”。在引号内,可以出现任何字符
除了换行符和未转义的双引号。引号之间的文字
形成文字的值,反斜杠转义解释为
它们是符文文字(除了 \' 是非法的和 \" 是合法的),
具有相同的限制。三位八进制 (\nnn) 和两位
十六进制 (\xnn) 转义表示结果的单个字节
细绳;所有其他转义表示(可能是多字节)UTF-8
单个字符的编码。因此在字符串文字 \377
和 \xFF 表示值 0xFF=255 的单个字节,而 ÿ, \u00FF,
\U000000FF 和 \xc3\xbf 代表 UTF-8 的两个字节 0xc3 0xbf
字符 U+00FF 的编码。
在反斜杠之后,某些单字符转义表示特殊
价值观:
\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)