Breaking Out of Input.Scan()
In Go, fungsi input.Scan() biasanya digunakan untuk membaca input daripada konsol. Walaupun kod yang disediakan dalam soalan berfungsi dengan berkesan, pengarang mencari cara untuk menghapuskan klausa if yang menyemak kata kunci "tamat" untuk keluar dari gelung.
Menurut dokumentasi, Scan() mengembalikan palsu apabila imbasan berhenti, sama ada dengan mencapai penghujung input atau menghadapi ralat. Walau bagaimanapun, pemahaman pengarang adalah bahawa baris kosong harus mencetuskan pengembalian palsu, dengan itu menamatkan gelung tanpa memerlukan klausa-if.
Setelah diperiksa, pengimbas lalai yang digunakan dalam kod yang disediakan sebenarnya ialah ScanLines , bukan ScanWords. ScanLines mengembalikan setiap baris teks, dilucutkan sebarang penghujung baris dan mungkin mengandungi baris kosong. Yang penting, walaupun baris input terakhir yang tidak kosong akan dikembalikan, walaupun ia tidak mempunyai penghujung baris.
Pengimbas berhenti beroperasi hanya apabila ia menemui EOF (End Of File). Oleh itu, klausa-if dalam kod asal masih diperlukan untuk menamatkan gelung apabila pengguna memasukkan "tamat" untuk menandakan berakhirnya input.
Atas ialah kandungan terperinci Bolehkah Baris Kosong Mencetuskan `input.Scan()` untuk Mengembalikan Palsu dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!