Maison  >  Article  >  développement back-end  >  Pourquoi la variable « prev » est-elle signalée comme inutilisée dans la fonction de Fibonacci ?

Pourquoi la variable « prev » est-elle signalée comme inutilisée dans la fonction de Fibonacci ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 21:33:02908parcourir

Why is the `prev` variable flagged as unused in the Fibonacci function?

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!

Déclaration:
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