Maison > développement back-end > Golang > Comment convertir efficacement un []int8 en une chaîne en Go ?

Comment convertir efficacement un []int8 en une chaîne en Go ?

Susan Sarandon
Libérer: 2024-12-06 20:42:13
original
446 Les gens l'ont consulté

How to Efficiently Convert a []int8 to a String in Go?

Conversion de []int8 en chaîne

La conversion de []int8 en chaîne nécessite un processus manuel car il s'agit de types de données différents. Pour déterminer l'approche de conversion optimale, nous devons considérer deux options : []byte et []rune.

Option 1 : []byte

Les chaînes sont stockées en interne sous forme Séquences d'octets codées en UTF-8, représentées par []byte. La conversion de []int8 en []byte est simple, car un octet est un alias pour uint8 et le langage prend en charge la conversion de []byte en chaîne.

Option 2 : []rune

Une rune est un point de code Unicode. Le mappage des valeurs int8 aux runes une à une entraînerait une sortie incorrecte si l'entrée contient des caractères codés à l'aide de plusieurs octets (UTF-8). Par conséquent, nous devons opter pour un mappage 1-1 int8 en octets.

Méthode de conversion optimale

En fonction des exigences, la méthode de conversion la plus efficace est :

func B2S(bs []int8) string {
    b := make([]byte, len(bs))
    for i, v := range bs {
        b[i] = byte(v)
    }
    return string(b)
}
Copier après la connexion

Cette méthode utilise l'indexation [] pour l'affectation des éléments au lieu de la fonction d'ajout, offrant des performances améliorées grâce à la longueur de tranche connue.

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 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