Golang中如何将int类型转换为string
Golang中如何将int类型转换为string 嗨,从我的名字你大概能猜到我是个新手。 我在转换东西时似乎遇到了问题;这是我的代码:
package main
import "fmt"
func main(){
i := 12
fmt.Printf("%s",string(i))
}
我期望它能打印出 12,但它只是打印了一个空行。我真的不知道发生了什么。
3 回复
请查看 strconv 包。
在Go语言中,string(i) 这种转换方式并不会将整数 12 转换为字符串 "12",而是会将 i 解释为Unicode码点,并返回对应的字符。由于Unicode码点 12 对应的是一个不可见的控制字符(换页符),所以输出看起来是空行。
你需要使用 strconv.Itoa 函数(Integer to ASCII)来将整数转换为字符串。以下是修正后的代码:
package main
import (
"fmt"
"strconv"
)
func main() {
i := 12
s := strconv.Itoa(i)
fmt.Printf("%s", s)
}
或者,你也可以使用 fmt.Sprintf 函数:
package main
import "fmt"
func main() {
i := 12
s := fmt.Sprintf("%d", i)
fmt.Printf("%s", s)
}
两种方法都会正确输出 12。

