通过强制转换和使用连接运算符将整数附加到字符串

时间:2017-10-14 11:47:43

标签: string go integer concatenation

我试图通过casting将整数与现有字符串连接,并使用+进行追加。但它不起作用。

package main

import (
    "fmt"
)

func main() {
    a := 4 
    b := "The value of a is "

    fmt.Println(b + string(a))
}

这会在go playground上打印一个垃圾字符,在Unix终端上没有任何内容。这可能是什么原因?这种方法有什么不对?

2 个答案:

答案 0 :(得分:3)

来自Go language spec

  

将有符号或无符号整数值转换为字符串类型会生成包含整数的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.SprintfPrintf;不需要铸造:

fmt.Sprintf("%s%d",s,i)