Maison > Article > développement back-end > Comment convertir efficacement int32 en chaîne dans Go ?
Conversion de int32 en chaîne dans Go
Il est pratique de convertir int32 en chaîne pour divers scénarios de programmation. Dans Go, il existe plusieurs approches pour réaliser cette conversion.
La solution simple consiste à utiliser fmt.Sprint(i), qui utilise le format par défaut pour les valeurs int32. Cependant, cette méthode implique des conversions internes, ce qui la rend plus lente par rapport aux autres options.
Fonction de conversion personnalisée
Pour des performances optimales, pensez à écrire une fonction de conversion personnalisée :
func String(n int32) string { buf := [11]byte{} pos := len(buf) i := int64(n) signed := i < 0 if signed { i = -i } for { pos-- buf[pos], i = '0'+byte(i%10), i/10 if i == 0 { if signed { pos-- buf[pos] = '-' } return string(buf[pos:]) } } }
Cette fonction construit de manière itérative la représentation sous forme de chaîne de la valeur int32, ce qui entraîne des performances plus rapides.
Utilisation de strconv.Itoa
Une autre option consiste à utilisez strconv.Itoa(int(i)), qui offre une approche plus rapide par rapport à fmt.Sprint(i) :
s := strconv.Itoa(int(i))
Cependant, cette méthode nécessite une conversion intermédiaire de int32 en int.
Utilisation de strconv.FormatInt
Semblable à strconv.Itoa, strconv.FormatInt(int64(i), 10) fournit une solution performante pour la conversion int32 en chaîne. Il nécessite une conversion intermédiaire de int32 en int64, mais offre des performances améliorées par rapport à fmt.Sprint(i) :
s := strconv.FormatInt(int64(i), 10)
Comparaison des benchmarks
Exécution de benchmarks sur ces conversions méthodes révèle les différences de performances :
String: 5.5923198s String2: 5.5923199s strconv.Itoa: 5.9763418s strconv.FormatInt: 5.9133382s fmt.Sprint: 13.5697761s
Comme le montrent les résultats, la fonction de conversion personnalisée (String) et String2 offrent les temps de conversion les plus rapides.
En fin de compte, le choix de la méthode de conversion dépend sur les exigences de performances spécifiques et les considérations de complexité de l’application. Pour les scénarios où la vitesse est critique, la fonction de conversion personnalisée fournit une solution optimale.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!