Maison > développement back-end > Golang > Comment convertir un Int32 en chaîne en Go : quelle méthode est la plus rapide ?

Comment convertir un Int32 en chaîne en Go : quelle méthode est la plus rapide ?

Barbara Streisand
Libérer: 2024-11-03 20:27:29
original
1064 Les gens l'ont consulté

How to Convert an Int32 to a String in Go: Which Method is Fastest?

Conversion de Int32 en chaîne dans Go : au-delà de Int et Int64

Dans Go, la conversion d'un int32 en chaîne peut être effectuée sans avoir besoin pour les conversions intermédiaires en int ou int64. Voici plusieurs approches pour y parvenir :

1. Utilisation de fmt.Sprint(i)

s := fmt.Sprint(i)
Copier après la connexion

Cette méthode fournit une solution simple sur une seule ligne.

2. Création d'une fonction de conversion personnalisée

Pour des performances optimales, une fonction de conversion personnalisée peut être créée :

func String(n int32) string {
    // Implementation details
    return string(buf[pos:])
}
Copier après la connexion

3. Utilisation de strconv.Itoa(int(i))

s := strconv.Itoa(int(i))
Copier après la connexion

Bien que cette approche implique d'abord une conversion en int, elle offre une solution relativement rapide.

4. Utilisation de strconv.FormatInt(int64(i), 10)

s := strconv.FormatInt(int64(i), 10)
Copier après la connexion

Cette méthode fonctionne plus rapidement que strconv.Itoa, car elle convertit directement l'int32 en chaîne.

Comparaison des performances

Pour comparer l'efficacité de ces méthodes, un benchmark a été réalisé avec 50 millions d'itérations :

Method Time Taken
String 5.5923198s
String2 5.5923199s
strconv.FormatInt(int64(i), 10) 5.9133382s
strconv.Itoa(int(i)) 5.9763418s
fmt.Sprint(i) 13.5697761s

Comme le montrent les résultats, la fonction de conversion personnalisée String fournit le temps d'exécution le plus rapide.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal