i := 123
s := string(i)
s是E,但我想要的是123
请告诉我怎样才能得到“123”。
在Java中,我可以这样做:
String s = "ab" + "c" // s is "abc"
我如何在围棋中连接两个字符串?
i := 123
s := string(i)
s是E,但我想要的是123
请告诉我怎样才能得到“123”。
在Java中,我可以这样做:
String s = "ab" + "c" // s is "abc"
我如何在围棋中连接两个字符串?
当前回答
您可以使用fmt。Sprintf或strconv。FormatFloat
例如
package main
import (
"fmt"
)
func main() {
val := 14.7
s := fmt.Sprintf("%f", val)
fmt.Println(s)
}
其他回答
fmt。Sprintf strconv。Itoa和strconv。FormatInt将完成这项工作。但是Sprintf将使用包反射,它将再分配一个对象,因此这不是一个有效的选择。
有趣的是,strconv。Itoa是缩写
func FormatInt(i int64, base int) string
以10为底
例如:
strconv.Itoa(123)
等于
strconv.FormatInt(int64(123), 10)
另一个选择:
package main
import "fmt"
func main() {
n := 123
s := fmt.Sprint(n)
fmt.Println(s == "123")
}
https://golang.org/pkg/fmt#Sprint
fmt.Sprintf("%v",value);
如果您知道值的特定类型,则使用相应的格式化程序,例如int使用%d
更多信息- fmt
您可以使用fmt。Sprintf或strconv。FormatFloat
例如
package main
import (
"fmt"
)
func main() {
val := 14.7
s := fmt.Sprintf("%f", val)
fmt.Println(s)
}