Maison > développement back-end > Golang > Pourquoi Go donne-t-il une erreur « Erreur déclarée et non utilisée » ?

Pourquoi Go donne-t-il une erreur « Erreur déclarée et non utilisée » ?

Linda Hamilton
Libérer: 2024-11-19 15:31:02
original
752 Les gens l'ont consulté

Why Does Go Give an

Variables inutilisées dans Go

Dans la programmation Go, il est essentiel d'utiliser les variables déclarées. Une erreur de compilation, « erreur déclarée et non utilisée », peut survenir si vous déclarez une variable qui reste inutilisée dans la portée du code. Cette erreur n'indique aucun problème d'observation.

Dans l'extrait de code donné :

package main

import (
    "fmt"
)

func main() {
    var (
        err error
        dto = make(map[string]interface{})
    )

    dto[`thing`], err = getThings()
    fmt.Println(dto[`thing`])
}

func getThings() (string, error) {
    return `the thing`, nil
}
Copier après la connexion

L'erreur se produit en raison de la variable d'erreur inutilisée. Bien qu'elle soit déclarée, une valeur lui est uniquement attribuée lors de l'appel à getThings() et n'est pas utilisée davantage.

Selon la FAQ de Go, "La présence d'une variable inutilisée peut indiquer un bug." Les variables inutilisées peuvent ralentir les temps de compilation et de construction. Par conséquent, Go nécessite l'utilisation de toutes les variables déclarées.

Pour résoudre l'erreur, supprimez la déclaration de variable err ou attribuez-la à _:

package main

import (
    "fmt"
)

func main() {
    var (
        _ error
        dto = make(map[string]interface{})
    )

    dto[`thing`], _ = getThings()
    fmt.Println(dto[`thing`])
}

func getThings() (string, error) {
    return `the thing`, nil
}
Copier après la connexion

Vous pouvez également utiliser err pour la vérification des erreurs :

package main

import (
    "fmt"
)

func main() {
    var (
        err error
        dto = make(map[string]interface{})
    )

    dto[`thing`], err = getThings()
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(dto[`thing`])
}

func getThings() (string, error) {
    return `the thing`, nil
}
Copier après la connexion

Bien qu'il soit permis d'avoir des variables globales ou des arguments de fonction inutilisés, il est essentiel d'utiliser des variables déclarées dans les étendues de fonction pour éviter les erreurs de compilation.

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