无论如何,在Go中创建以null结尾的字符串吗?

无论如何,在Go中创建以null结尾的字符串吗?,第1张

无论如何,在Go中创建以null结尾的字符串吗?

规格:字符串文字:

引号之间的文本构成文字的值,反斜杠转义与符文文字中的解释相同(除非

'
是非法且
"
合法),并具有相同的限制。三位数字的八进制(
nnn
)和两位数字的十六进制(
xnn
)转义符表示所得字符串的各个字节。所有其他转义符表示单个字符的UTF-8编码(可能是多字节)。

因此,这

是一个非法序列,您必须使用3个八进制数字:

s := "golang00"

或使用十六进制代码(2个十六进制数字):

s := "golangx00"

或unipre序列(4个十六进制数字):

s := "golangu0000"

例:

s := "golang00"fmt.Println([]byte(s))s = "golangx00"fmt.Println([]byte(s))s = "golangu0000"fmt.Println([]byte(s))

输出:全部以0码字节结尾(在Go Playground上尝试)。

[103 111 108 97 110 103 0][103 111 108 97 110 103 0][103 111 108 97 110 103 0]


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5126177.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存