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

Voici quelques titres basés sur des questions qui correspondent à votre article : * Erreur de lecture de fichier : pourquoi ne puis-je pas attribuer []octet à une chaîne ? * Erreur Go : \'Impossible d'attribuer []octet à z (Type String)\' - Comment H

Susan Sarandon
Libérer: 2024-10-26 19:00:04
original
365 Les gens l'ont consulté

Here are a few question-based titles that fit your article:

* File Reading Error: Why Can't I Assign []byte to a String? 
* Go Error:

Gestion des erreurs lors de la lecture de fichiers : résolution de "Impossible d'attribuer []octet à z (chaîne de type)"

Lors de la tentative de lecture de fichiers dans un dossier, un problème survient lié à l'affectation multiple. Examinons cette erreur et proposons une solution :

Le code tente de lister les fichiers dans le dossier "documents", puis de lire le contenu de chaque fichier :

files, _ := ioutil.ReadDir("documents/")
for _, f := range files {
    z := "documents/" + f.Name()
    fmt.Println(z)
    z, err := ioutil.ReadFile(z)
}
Copier après la connexion

L'erreur se produit car l'ioutil La fonction .ReadFile renvoie deux valeurs : le contenu du fichier sous forme de tranche []byte et une erreur potentielle. Cependant, le code tente d'attribuer les deux valeurs à la même variable z, qui est déclarée sous forme de chaîne.

Pour résoudre ce problème, gérez correctement les valeurs de retour :

buf, err := ioutil.ReadFile(z)
if err != nil {
    log.Fatal(err)
}
z = string(buf)
Copier après la connexion

Ceci sépare la conversion en chaîne de la gestion des erreurs potentielles, garantissant ainsi que le problème d'incompatibilité de type est évité.

Alternativement, pour éviter la conversion en chaîne, envisagez de travailler directement avec le buf comme représentation de données binaires, réduisant ainsi les inutiles conversions et potentiellement améliorant l'efficacité dans certains cas.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!