Maison > développement back-end > Golang > Comment réparer \'opération invalide : new_str str[i 1] (types incompatibles, chaîne et octet)\' dans Golang ?

Comment réparer \'opération invalide : new_str str[i 1] (types incompatibles, chaîne et octet)\' dans Golang ?

Susan Sarandon
Libérer: 2024-11-03 13:38:30
original
714 Les gens l'ont consulté

How to Fix

Incompatibilité de types dans Golang : résolution de l'erreur (chaîne et octet de types incompatibles)

Dans Golang, vous pouvez rencontrer l'erreur « opération invalide : new_str str[i 1] (chaîne et octet de types incompatibles)" en raison d'une incompatibilité de type. Cette erreur se produit lors de la tentative de concaténation d'un octet (str[i 1]) avec une chaîne (new_str). Go impose des conversions de types explicites.

Dans l'exemple de code fourni, cette erreur se produit dans les fonctions g et f :

  • Dans g, la concaténation de new_str et str[i 1] nécessite une conversion de type. La syntaxe correcte est new_str = new_str string(str[i 1]).
  • Dans f, la concaténation de f(g(str)) et str[0] nécessite également une conversion de type. Le code corrigé est return f(g(str)) string(str[0]).

En convertissant explicitement les octets en chaînes, vous pouvez résoudre l'incompatibilité de type et éviter l'erreur. Voici un extrait de code révisé avec les conversions nécessaires :

<code class="go">package main

func g(str string) string {
    var i = 0
    var new_str = ""
    for i < len(str)-1 {
        new_str = new_str + string(str[i+1])
        i = i + 1
    }
    return new_str
}

func f(str string) string {
    if len(str) == 0 {
        return ""
    } else if len(str) == 1 {
        return str
    } else {
        return f(g(str)) + string(str[0])
    }
}

func main() {
    // ...
}</code>
Copier après la connexion

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