Maison > Article > développement back-end > Pourquoi la variable « prev » est-elle signalée comme inutilisée dans la fonction de Fibonacci ?
Erreur dans la fonction de Fibonacci : variable déclarée mais inutilisée
Le code fourni dans Go tente de calculer la séquence de Fibonacci à l'aide de fermetures. Cependant, le compilateur signale une erreur : "prog.go:13 : prev déclaré et non utilisé."
Explication :
Dans la fonction de fermeture interne, une variable nommé prev est déclaré à l’aide de l’opérateur d’affectation :=. Cela crée une nouvelle variable dans la portée actuelle, mais elle n'est jamais utilisée. Pour résoudre ce problème, remplacez le := par = pour attribuer la valeur de temp à la variable précédente héritée.
Code réécrit :
<code class="go">curr := curr + prev prev = temp</code>
Raison de l'erreur :
L'opérateur := dans Go crée une nouvelle variable dans la portée actuelle, tandis que = attribue une valeur à une variable existante. Lors de l'utilisation de :=, une nouvelle variable est créée et l'ancienne est effectivement masquée, ce qui signifie qu'elle n'est plus utilisée.
Remarque :
Ce problème se produit uniquement lorsque déclarer la variable prev dans la fermeture interne. La variable précédente déclarée dans la fonction fibonacci externe est utilisée correctement.
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!