i := 123
s := string(i)
s est 'E', mais ce que je veux c'est "123"
Veuillez me dire comment obtenir "123".
Et en Java, je peux faire de cette façon:
String s = "ab" + "c" // s is "abc"
comment puis-je concat
deux chaînes dans Go?
string
go
int
converters
hardPass
la source
la source
Réponses:
Utilisez la fonction
strconv
du packageItoa
.Par exemple:
Vous pouvez concaténer des chaînes simplement en
+
les utilisant ou en utilisant laJoin
fonction dustrings
paquet.la source
Si vous connaissez le type spécifique de valeur, utilisez le formateur correspondant, par exemple
%d
pourint
Plus d'infos - fmt
la source
%d
pour int - ceIl est intéressant de noter que
strconv.Itoa
est un raccourci pouravec base 10
Par exemple:
est équivalent à
la source
fmt.Sprintf
,strconv.Itoa
etstrconv.FormatInt
fera le travail. MaisSprintf
utilisera le packagereflect
, et il allouera un objet de plus, ce n'est donc pas un choix efficace.la source
Vous pouvez utiliser fmt.Sprintf
Voir http://play.golang.org/p/bXb1vjYbyc par exemple.
la source
Dans ce cas , les deux
strconv
etfmt.Sprintf
faire le même travail , mais en utilisant lestrconv
de packageItoa
fonction est le meilleur choix, carfmt.Sprintf
allouer un objet de plus lors de la conversion.vérifiez l'indice de référence ici: https://gist.github.com/evalphobia/caee1602969a640a4530
voir https://play.golang.org/p/hlaz_rMa0D par exemple.
la source
fmt.Sprintf
etstrconv.iota
sont similaires en termes de facilité d'utilisation et que les données ci-dessus montrent que l'iota est plus rapide avec un impact GC moindre, il semble queiota
devrait être utilisé en général lorsqu'un seul entier doit être converti.Conversion
int64
:la source
ok, la plupart d'entre eux vous ont montré quelque chose de bien. Laissez-moi vous donner ceci:
la source
la source