"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi est-ce que j'obtiens l'erreur « Impossible d'attribuer [] octet à z (type chaîne) en affectation multiple » lors de la lecture de fichiers dans Go ?

Pourquoi est-ce que j'obtiens l'erreur « Impossible d'attribuer [] octet à z (type chaîne) en affectation multiple » lors de la lecture de fichiers dans Go ?

Publié le 2024-11-10
Parcourir:744

Why am I getting the \

Résolution de l'erreur « Impossible d'attribuer []octet à z (chaîne de type) dans une affectation multiple »

Lors de la tentative de parcourir les fichiers d'un dossier et de lire leur contenu, vous pourriez rencontrer l'erreur : "Impossible d'attribuer [] octet à z (type chaîne) dans le cadre d'une affectation multiple." Examinons le code et la raison de cette erreur.

Dans l'extrait de code fourni, la fonction ReadFile() est utilisée pour lire le contenu d'un fichier et renvoie deux valeurs : une tranche d'octets ([]byte ) contenant le contenu du fichier et une erreur, le cas échéant. Le code tente d'attribuer les deux valeurs à la même variable z, qui est de type chaîne. Cependant, cette affectation n'est pas valide car vous ne pouvez pas attribuer une valeur []byte à une variable chaîne dans une affectation multiple.

Pour résoudre ce problème, vous devez séparer l'affectation des deux valeurs renvoyées par ReadFile() :

buf, err := ioutil.ReadFile(z)
if err != nil {
        log.Fatal(err)
}

Ici, buf est de type []byte et err est de type error, donc l'affectation est valide. Une fois que vous avez lu le contenu du fichier, vous pouvez le convertir en chaîne si nécessaire :

z = string(buf)

Vous pouvez également travailler directement avec buf, qui représente les octets bruts du contenu du fichier, sans le convertir en chaîne. Cela peut améliorer les performances et éviter d'éventuels problèmes de conversion.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3