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
Barbara Streisandoriginal
2024-11-03 20:27:291109parcourir

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)

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:])
}

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

s := strconv.Itoa(int(i))

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)

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!

Déclaration:
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