Maison > développement back-end > Golang > Pourquoi ne puis-je pas attribuer []byte à une chaîne dans Go ?

Pourquoi ne puis-je pas attribuer []byte à une chaîne dans Go ?

DDD
Libérer: 2024-10-27 01:57:30
original
284 Les gens l'ont consulté

Why Can't I Assign []byte to a String in Go?

Comprendre l'erreur d'attribution d'octets : impossible d'attribuer []octet à une chaîne

Lors de votre tentative de lecture de fichiers dans un dossier, vous avez rencontré l'erreur "impossible d'attribuer [] octet à z (chaîne de type) en affectation multiple" lors de la tentative de lecture du contenu d'un fichier. Examinons la raison de cette erreur.

Comprendre les affectations multiples

Lorsque plusieurs variables se voient attribuer des valeurs sur une seule ligne, comme dans votre code :

<code class="go">z, err := ioutil.ReadFile(z)</code>
Copier après la connexion

Chaque variable sur le côté gauche de l'opérateur d'affectation reçoit une valeur correspondante renvoyée par la fonction. Dans ce cas, la fonction ioutil.ReadFile renvoie deux valeurs : []byte (données binaires) et erreur.

Attribuer des octets aux chaînes

La partie problématique tente pour attribuer l'octet [] (données binaires) renvoyé par ioutil.ReadFile à la variable z, qui est déclarée sous forme de chaîne. C'est là que l'erreur survient car z attend une valeur de chaîne, pas des données binaires.

Solution

Pour résoudre cette erreur, vous avez deux options :

  1. Convertissez le []octet en chaîne à l'aide de la fonction string() :
<code class="go">buf, err := ioutil.ReadFile(z)
if err != nil {
    log.Fatal(err)
}
z = string(buf)</code>
Copier après la connexion
  1. Déclarez z comme un []octet au lieu d'une chaîne :
<code class="go">var z []byte
z, err := ioutil.ReadFile(z)</code>
Copier après la connexion

Travailler avec des données binaires

Bien que la conversion de données binaires en chaînes soit possible, il est souvent préférable de travailler directement avec les données binaires elles-mêmes. Cela évite les conversions inutiles et préserve le format original des 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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal