为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以使用 Go 中的 string() 将字节转换为空字符串?

是否可以使用 Go 中的 string() 将字节转换为空字符串?

Go
ibeautiful 2023-08-14 16:32:05
Go 中是否可以将一个字节转换为空字符串?我试过了string(0),但结果是string长度为1:emptyString := ""nullByte := 0fmt.Printf("%T, %v - %T, %v", emptyString, len(emptyString), string(nullByte), len(string(nullByte)))输出:string, 0 - string, 1我想这样做的原因是我有一个函数,它接受 abyte并将其转换为 a string,并且我想向该函数提供空字符串。
查看完整描述

1 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

空字符串""有 0 个字节。如果您有一个字节并将其转换为string,则结果字符串将具有rune等于该 1 个字节的单个字节(甚至可能以 UTF-8 编码为多个字节)。规格: 转换:

将有符号或无符号整数值转换为字符串类型会生成一个包含该整数的 UTF-8 表示形式的字符串。

显然,无论该字节是什么,都无法将字节转换为 0 字节的字符串。转换“最有希望的候选者”:byte(0)将产生一个带有单个0字节的字符串:"\x00"或(在Go Playground[]byte{0}上尝试)。

另请注意,在您的示例中,您正在转换int( 类型为nullByteint,但规范中相同的引用部分适用。


查看完整回答
反对 回复 2023-08-14
  • 1 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信