我试图通过casting
将整数与现有字符串连接,并使用+
进行追加。但它不起作用。
package main
import (
"fmt"
)
func main() {
a := 4
b := "The value of a is "
fmt.Println(b + string(a))
}
这会在go playground上打印一个垃圾字符,在Unix终端上没有任何内容。这可能是什么原因?这种方法有什么不对?
答案 0 :(得分:3)
将有符号或无符号整数值转换为字符串类型会生成包含整数的UTF-8表示形式的字符串。
为了获得所需的结果,您需要使用strconv.Itoa
之类的方法将int转换为字符串:
package main
import (
"fmt"
"strconv"
)
func main() {
a := 4
b := "The value of a is "
fmt.Println(b + strconv.Itoa(a))
}
答案 1 :(得分:0)
使用fmt.Sprintf
或Printf
;不需要铸造:
fmt.Sprintf("%s%d",s,i)