Maison > développement back-end > Golang > le corps du texte

Comment résoudre l'erreur « chaîne et octet de types incompatibles » dans Golang ?

Patricia Arquette
Libérer: 2024-10-27 20:39:30
original
267 Les gens l'ont consulté

How to Resolve the

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

Le message d'erreur (chaîne et octet de types incompatibles) indique une disparité entre les types attendus et fournis dans une opération donnée. Dans Golang, l'erreur se produit lors de la tentative de concaténation d'une chaîne avec un octet, principalement en raison des différents types de données impliqués.

En analysant le code fourni, nous pouvons identifier les lignes problématiques :

<code class="go">new_str = new_str + str[i + 1]</code>
Copier après la connexion

et

<code class="go">return f(g(str)) + str[0]</code>
Copier après la connexion

Le problème se pose car str[i 1] et str[0] sont des octets, tandis que new_str et f(g(str)) sont des chaînes. Le typage strict Golang nécessite des conversions explicites lorsque vous travaillez avec différents types de données.

Pour résoudre cet écart, nous devons convertir l'octet (caractère unique) du tableau str en une chaîne avant de le concaténer. Ceci peut être réalisé en utilisant la fonction de conversion de chaîne comme suit :

<code class="go">new_str = new_str + string(str[i + 1])</code>
Copier après la connexion
<code class="go">return f(g(str)) + string(str[0])</code>
Copier après la connexion

En incorporant ces conversions, nous nous assurons que les types correspondent et que les opérations sont valides.

Voici un exemple pour démontrer le code corrigé :

<code class="go">package main

import "fmt"

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 main() {
    fmt.Println(g("fruits"))
}</code>
Copier après la connexion

En convertissant les octets en chaînes aux points de concaténation, nous éliminons avec succès l'erreur (types incompatibles chaîne et octet) et garantissons des opérations valides.

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!

source:php.cn
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