如何在int中将int值转换为string?
i := 123 s := string(i)
s是'E',但是我想要的是“123”
请告诉我如何得到“123”。
在Java中,我可以这样做:
String s = "ab" + "c" // s is "abc"
我怎么能在Go中连接两个string?
使用strconv
包的Itoa
函数。
例如:
package main import ( "strconv" "fmt" ) func main() { t := strconv.Itoa(123) fmt.Println(t) }
你可以简单地通过+
来连接string,或者使用strings
包的Join
函数。
fmt.Sprintf("%v",value);
如果您知道具体的值types,请使用相应的格式化程序,例如%d
作为int
更多信息 – fmt
你可以使用fmt.Sprintf
有趣的是, strconv.Itoa
是速记
func FormatInt(i int64, base int) string
以10为底
例如:
strconv.Itoa(123)
相当于
strconv.FormatInt(int64(123), 10)
fmt.Sprintf
, strconv.Itoa
和strconv.FormatInt
将完成这项工作。 但是Sprintf
会使用这个包reflect
,并且会分配一个对象,所以这不是一个好的select。
在这种情况下, strconv
和fmt.Sprintf
都做同样的工作,但是使用strconv
包的Itoa
函数是最好的select,因为fmt.Sprintf
在转换过程中分配了一个对象。
检查基准在这里: https : //gist.github.com/evalphobia/caee1602969a640a4530