Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa pembolehubah `sebelumnya` dibenderakan sebagai tidak digunakan dalam fungsi Fibonacci?

Mengapa pembolehubah `sebelumnya` dibenderakan sebagai tidak digunakan dalam fungsi Fibonacci?

Linda Hamilton
Linda Hamiltonasal
2024-10-31 21:33:02901semak imbas

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

Ralat dalam Fungsi Fibonacci: Pembolehubah Diisytiharkan tetapi Tidak Digunakan

Kod yang disediakan dalam Go cuba mengira jujukan Fibonacci menggunakan penutupan. Walau bagaimanapun, pengkompil membenderakan ralat: "prog.go:13: prev declared and not used."

Penjelasan:

Dalam fungsi penutupan dalaman, pembolehubah bernama prev diisytiharkan menggunakan pengendali tugasan :=. Ini mencipta pembolehubah baharu dalam skop semasa, tetapi ia tidak pernah digunakan. Untuk membetulkan isu ini, gantikan := dengan = untuk menetapkan nilai daripada temp kepada pembolehubah sebelumnya yang diwarisi.

Kod Ditulis Semula:

<code class="go">curr := curr + prev
prev = temp</code>

Sebab Ralat:

Pengendali := dalam Go mencipta pembolehubah baharu dalam skop semasa, manakala = memberikan nilai kepada pembolehubah sedia ada. Apabila menggunakan :=, pembolehubah baharu dicipta dan pembolehubah lama dibayangi dengan berkesan, bermakna ia tidak digunakan lagi.

Nota:

Isu ini berlaku hanya apabila mengisytiharkan pembolehubah sebelumnya dalam penutupan dalaman. Pembolehubah sebelumnya yang diisytiharkan dalam fungsi fibonacci luar digunakan dengan betul.

Atas ialah kandungan terperinci Mengapa pembolehubah `sebelumnya` dibenderakan sebagai tidak digunakan dalam fungsi Fibonacci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn