Convertir une tranche d'octets en tranche entière : résolution de l'erreur d'analyse
Dans Go, la conversion d'une tranche d'octets en tranche entière nécessite un examen attentif. Alors que les méthodes traditionnelles impliquent de convertir la tranche d'octets en chaîne, puis d'utiliser strconv.Atoi, cette approche peut rencontrer des erreurs d'analyse.
var d = []byte{0x01} val, err := strconv.Atoi(string(d))
Le code ci-dessus génère une erreur car la tranche d'octets contient une valeur d'octet brute. (1) plutôt qu'un caractère ASCII (49).
Approche correcte :
Pour Pour convertir une tranche d'octets en tranche int, effectuez les opérations suivantes :
byteSlice := []byte{1, 2, 3, 4} intSlice := make([]int, len(byteSlice)) for i, b := range byteSlice { intSlice[i] = int(b) }
Ce code parcourt chaque valeur d'octet dans la tranche d'octets, la convertissant en un entier. L'intSlice résultant contiendra les représentations entières correspondantes des valeurs d'octet.
En comprenant cette nuance, les développeurs peuvent éviter les erreurs d'analyse et convertir efficacement les tranches d'octets en tranches int dans Go.
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!