Maison >développement back-end >Golang >Comment convertir efficacement un []int8 en une chaîne en 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) }
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!