Conversion de []int8 en String
Problème :
Comment convertir efficacement une tranche de int8 ([]int8) en une chaîne ? La conversion de chaîne standard (byteslice) pour []byte échoue pour []int8 avec l'erreur "Impossible de convertir en chaîne de type."
Solution :
Depuis [] int8 et []byte ont des types différents, la conversion directe n'est pas possible. Ainsi, une conversion manuelle est requise.
Le processus de conversion comporte trois étapes :
Implémentation du code :
Le code Go suivant démontre le conversion :
func B2S(bs []int8) string { b := make([]byte, len(bs)) for i, v := range bs { b[i] = byte(v) } return string(b) }
Ce code garantit que les valeurs int8 sont correctement converties en octets, ce qui donne une représentation précise de la chaîne.
Remarque :
Bien que l'énoncé du problème mentionnait initialement []int8, le demandeur l'a ensuite corrigé en []uint8. Pour []uint8, la conversion directe en chaîne à l'aide de string(ba) est possible car byte est un alias pour uint8.
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!