Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que je reçois une erreur « chaîne et octet de types incompatibles » dans mon code Golang ?

Pourquoi est-ce que je reçois une erreur « chaîne et octet de types incompatibles » dans mon code Golang ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-26 18:29:03548parcourir

Why am I getting a

Rencontre de l'erreur "chaîne et octet de types incompatibles" dans Golang

L'extrait de code fourni génère une erreur lors de la tentative de concaténation d'une chaîne et d'un octet à la ligne 11 :

new_str = new_str + str[i + 1]

Cette erreur se produit car la variable str[i 1] est de type byte, qui est une valeur d'octet représentant un seul caractère, tandis que la variable new_str est de type string, qui est une séquence de caractères .

Pour résoudre ce problème, une conversion explicite d'octet en chaîne est nécessaire. Ceci peut être réalisé en utilisant la fonction string(), qui convertit une valeur d'octet en une chaîne à un seul caractère. Le code corrigé ressemblerait à ceci :

new_str = new_str + string(str[i + 1])

Un problème similaire se pose à la ligne 24, où l'expression f(g(str)) str[0] tente de concaténer une chaîne avec un octet. En appliquant le même correctif, nous convertissons l'octet str[0] en chaîne :

return f(g(str)) + string(str[0])

Avec ces modifications, le code s'exécutera sans erreur. Il est important de noter que dans Go, des conversions de types explicites sont requises lorsque vous travaillez avec différents types de données.

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