Rumah >pembangunan bahagian belakang >Golang >Adakah `input.Scan()` Memerlukan Klausa `if` untuk Mengendalikan Input 'menamatkan'?

Adakah `input.Scan()` Memerlukan Klausa `if` untuk Mengendalikan Input 'menamatkan'?

Linda Hamilton
Linda Hamiltonasal
2024-11-11 21:57:03947semak imbas

Does `input.Scan()` Require an `if`-Clause to Handle

Memecahkan input.Imbas() tanpa Klausa if

Dalam kod anda, anda cuba untuk menghapuskan klausa if yang mengendalikan input "akhir". Mari kita periksa dokumentasi input.Scan() untuk menjelaskan jika klausa-if diperlukan.

Menurut dokumentasi, input.Scan() mara ke token seterusnya dan mengembalikan palsu apabila imbasan tamat sama ada perlu untuk mencapai penghujung input atau ralat. Walau bagaimanapun, fungsi pemisahan lalai untuk input.Scan() ialah ScanLines, yang mengembalikan setiap baris teks tanpa sebarang penanda hujung baris yang mengekori.

Dua perkara penting yang perlu diberi perhatian di sini ialah:

  1. ScanLines mengendalikan baris kosong: Ini bermakna ia mengembalikan baris kosong sebagai token.
  2. Barisan tidak kosong terakhir dikembalikan tanpa baris baharu: Jika baris terakhir baris input tidak kosong, ia akan dikembalikan walaupun ia tidak mempunyai baris baharu.

Oleh itu, menaip baris kosong (menekan Enter) tidak akan menamatkan pengimbas. Ia hanya akan mengembalikan baris kosong sebagai tanda. Pengimbas hanya akan berhenti berjalan apabila:

  • Tamat-Fail (EOF) dicapai: Ini boleh dicapai dengan menaip Ctrl-D atau menggunakan kaedah lain untuk menandakan akhir input.
  • Ralat berlaku semasa mengimbas: Ini tidak mungkin dalam senario asas.

Berdasarkan pemahaman ini, adalah tidak perlu untuk memasukkan if -klausa untuk menyemak input kosong. Pengimbas akan keluar dari gelung secara automatik apabila EOF dicapai.

Untuk meringkaskan, kod anda akan terus berfungsi seperti yang dimaksudkan, keluar dari gelung apabila pengguna menaip "tamat" atau mencapai EOF, walaupun tanpa klausa-jika.

Atas ialah kandungan terperinci Adakah `input.Scan()` Memerlukan Klausa `if` untuk Mengendalikan Input 'menamatkan'?. 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