Maison > Article > développement back-end > Pourquoi Go génère-t-il l'erreur « précédent déclaré et non utilisé » malgré l'initialisation de la variable ?
Go - Erreur : "prev déclaré et non utilisé", malgré l'initialisation de la variable
En Go, rencontre l'erreur "prev déclaré et non utilisé" used" lorsque les variables apparaissent initialisées peut être déroutant. Examinons un cas spécifique :
<code class="go">package main import "fmt" func fibonacci() func() int { prev := 0 curr := 1 return func() int { temp := curr curr := curr + prev prev := temp return curr } } func main() { f := fibonacci() for i := 0; i < 10; i++ { fmt.Println(f()) } }</code>
Le problème réside dans la fonction anonyme interne de fibonacci(). Le code déclare une variable prev, qui est masquée par l'affectation := suivante. Cela crée une nouvelle variable locale qui n'est pas utilisée, déclenchant l'erreur "précédent déclaré et non utilisé".
Résolution :
Pour résoudre ce problème, modifiez le : = affectation à =. Cela attribue la valeur de temp à la variable prev héritée :
<code class="go">prev = temp</code>
De même, la ligne suivante devrait être :
<code class="go">curr = curr + prev</code>
Cela garantit que prev est correctement utilisé et que l'erreur est résolue. .
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!