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

Suh*_*pta 2 string integer concatenation go

我正在尝试将一个整数与现有字符串连接起来,casting并使用+. 但它不起作用。

package main

import (
    "fmt"
)

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

    fmt.Println(b + string(a))
}
Run Code Online (Sandbox Code Playgroud)

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

Tim*_*per 9

Go 语言规范

将有符号或无符号整数值转换为字符串类型会生成一个包含整数的 UTF-8 表示的字符串。

为了达到预期的结果,您需要使用以下方法将 int 转换为字符串strconv.Itoa

package main

import (
    "fmt"
    "strconv"
)

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

    fmt.Println(b + strconv.Itoa(a))
}
Run Code Online (Sandbox Code Playgroud)


Ken*_*ant 7

使用fmt.SprintfPrintf; 无需铸造:

fmt.Sprintf("%s%d",s,i)
Run Code Online (Sandbox Code Playgroud)