请帮助我理解这一点,也许我做错了。
func main() {
x := 6
y := &x
fmt.Println("x: ", x, ", y:", *y, "string y:", string(*y))
}
返回:
x: 6 , y: 6 string y:
为什么字符串(* y)不返回6?
答案 0 :(得分:4)
http://www.sunshine2k.de/coding/javascript/crc/crc_js.html:
将有符号或无符号整数值转换为字符串类型会产生一个包含整数的UTF-8表示的字符串。
表达式string(*y)
的计算结果为"\x06"
。这是一个字节为6的字符串。
使用specification says将整数转换为字符串:strconv.Itoa(*y) == "6"
。
请注意,*y
的计算结果为6.应用程序中使用的指针取消引用对字符串类型转换的执行方式没有影响。
答案 1 :(得分:1)
A
方法将ASCII索引转换为字符,需要strconv的A