gpt4 book ai didi

go - "A"和 "A"的区别[0]

转载 作者:IT王子 更新时间:2023-10-29 01:54:20 30 4
gpt4 key购买 nike

我编写这段代码是为了将 TEXT 转换为 BINARY

fmt.Printf("%s\n", fmt.Sprintf("%08b", "A"))

但不起作用,打印消息:%!b(string=0000000A)

但是当我将 "A" 更改为 "A"[0] 时工作正常:

fmt.Printf("%s\n", fmt.Sprintf("%08b", "A"[0]))

输出是01000001

以上说法有什么区别?

最佳答案

Golang 区分字符串和字节。

"A" 是一个字符串,技术上是 a read-only slice of bytes . “A”[0]是这个序列的第一个字节,其值为0x41。

您要求首先打印一个字符串 ("A"),然后是一个字节 ("A"[0]),在八个字符的字段中使用二进制数字。您的第一个输出很有趣,因为您试图打印一个字符串,就好像它是某种字节值一样。但是一个字节的序列与单个字节不同。你的第二个输出更自然,因为你捕获了字符串的第一个字节(在索引 0 处),获得 0x41。

关于go - "A"和 "A"的区别[0],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46046506/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com