i := 123
s := string(i)
s es 'E', pero lo que quiero es "123"
Por favor, dime cómo puedo obtener "123".
Y en Java, puedo hacer de esta manera:
String s = "ab" + "c" // s is "abc"
¿Cómo puedo concat
dos cadenas en Go?
string
go
int
converters
hardPass
fuente
fuente
Respuestas:
Usa el
strconv
paqueteItoa
función .Por ejemplo:
Puede concatenar cadenas simplemente ingiriéndolas
+
o utilizando laJoin
función delstrings
paquete.fuente
Si conoce el tipo específico de valor, utilice el formateador correspondiente, por ejemplo,
%d
paraint
Más información - fmt
fuente
%d
para int - thisEs interesante notar que
strconv.Itoa
es una forma abreviada decon base 10
Por ejemplo:
es equivalente a
fuente
fmt.Sprintf
,strconv.Itoa
ystrconv.FormatInt
haremos el trabajo. PeroSprintf
usará el paquetereflect
, y asignará un objeto más, por lo que no es una opción eficiente.fuente
Puedes usar fmt.Sprintf
Ver http://play.golang.org/p/bXb1vjYbyc por ejemplo.
fuente
En este caso tanto
strconv
yfmt.Sprintf
hacer el mismo trabajo, pero utilizando elstrconv
del paquete deItoa
función es la mejor opción, ya quefmt.Sprintf
asignar un objeto más durante la conversión.consulte el punto de referencia aquí: https://gist.github.com/evalphobia/caee1602969a640a4530
ver https://play.golang.org/p/hlaz_rMa0D por ejemplo.
fuente
fmt.Sprintf
ystrconv.iota
son similares en términos de facilidad de uso y muestran los datos anteriores iota a ser más rápido con menor impacto GC, parece queiota
se debe utilizar, en general, cuando un solo número entero necesidades de conversión.Convertir
int64
:fuente
ok, la mayoría de ellos te han mostrado algo bueno. Déjame darte esto:
fuente
fuente