string - golang int 对字符串的引用

标签 string go data-conversion

请帮助我理解这一点,也许我做错了什么。

func main() {
    x := 6
    y := &x
    fmt.Println("x: ", x, ", y:", *y, "string y:", string(*y))
}

返回:

x:  6 , y: 6 string y:

为什么 string(*y) 不返回 6 ?

最佳答案

specification says :

Converting a signed or unsigned integer value to a string type yields a string containing the UTF-8 representation of the integer.

表达式 string(*y) 的计算结果为 "\x06"。这是一个字节为6的字符串。

使用strconv.Itoa将整数转换为字符串:strconv.Itoa(*y) == "6"

请注意,*y 的计算结果为 6。应用程序中使用的指针取消引用对字符串类型转换的执行方式没有影响。

关于string - golang int 对字符串的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47600029/

相关文章:

go - 从范围生成的值具有相同的指针值

java - 将 List<Object[]> 转换为 List<Integer> 时出现歧义

c - 如何加快十六进制字符到二进制字符的转换速度

c - 为什么会发生堆损坏?

string - 在不分配内存的情况下在 D 中创建字符串?

struct 中的 Golang channel 表现不同,在创建 struct 时传递它,在创建后通过函数传递

go - 嵌入式接口(interface) : struct doesn't implement method

c++ - 给定很长的二进制,将其转换为十进制

带有 char 和 wchar_t 的 C++ 正则表达式?

c++ - clang++ 直接将字符串序列化到二进制文件就可以了吗?