string(42)将整数常量转换42为长度为 1 的字节数组,其中数组的第一个元素具有00101010
package main
import "fmt"
func main() {
s := string(42)
fmt.Printf("%d\n", len(s)) // 1
fmt.Printf("%b\n", s[0]) // 101010 looks good
}
但,
下面的代码采用有效的整数常量,
package main
import "fmt"
func main() {
s := string(1024)
fmt.Printf("%d\n", len(s)) // 2
fmt.Printf("%b %b\n", s[0], s[1]) // 11010000 10000000 this looks wrong representation, it should be 00000100 00000000
}
下面的代码采用有效的整数常量,
package main
import "fmt"
func main() {
s := string(4254353345467546745674564564567445674658647567567853467867568756756785786785676858878978978978978907978977896789676786789655289890980889098835432453455544)
fmt.Printf("%d\n", len(s))
fmt.Printf("%d %d %d", s[0], s[1], s[2])
}
并将其转换为大小为 3 的字节数组。239 191 189
但这不是这个整数常量的正确表示。它应该超过 3 个字节。
如何检索给定整数常量的字节?
吃鸡游戏
冉冉说
相关分类