Rumah >pembangunan bahagian belakang >Golang >ReadString vs. ReadLine in Go: Bilakah Anda Harus Menggunakan Setiap Satu untuk Input Teks?

ReadString vs. ReadLine in Go: Bilakah Anda Harus Menggunakan Setiap Satu untuk Input Teks?

Linda Hamilton
Linda Hamiltonasal
2024-12-26 19:13:14847semak imbas

ReadString vs. ReadLine in Go: When Should You Use Each for Text Input?

reader.ReadString vs. ReadLine

In Go, bufio.Reader menyediakan dua kaedah untuk membaca teks daripada sumber input: ReadString dan ReadLine . Kaedah ini berbeza dalam cara mereka mengendalikan aksara baris baharu pada penghujung baris:

ReadString

ReadString membaca rentetan sehingga ia menemui aksara pembatas yang ditentukan. Secara lalai, pembatas ialah n (baris baharu), yang bermaksud ia membaca keseluruhan baris teks. Walau bagaimanapun, ia tidak menanggalkan pembatas daripada rentetan yang dikembalikan. Dalam kod yang disebut dalam soalan:

text, _ := reader.ReadString('\n')

Pembolehubah teks akan mengandungi rentetan input termasuk aksara baris baharu. Oleh itu, apabila menyemak untuk "Alice" atau "Bob," aksara baris baharu pada penghujung input menyebabkan perbandingan gagal.

ReadLine

ReadLine membaca baris teks, tidak termasuk watak baris baharu. Ia mengembalikan kepingan bait yang mengandungi aksara dalam baris dan nilai ralat yang menunjukkan sebarang masalah yang dihadapi. Untuk menukar kepingan bait kepada rentetan, ia perlu dihantar seperti:

text, _, _ := reader.ReadLine()

Dengan menggunakan ReadLine dan bukannya ReadString, aksara baris baharu tidak disertakan dalam pembolehubah teks, menyelesaikan isu perbandingan yang salah .

Penyelesaian Alternatif: Memangkas Rentetan

Alternatif lain ialah memangkas aksara baris baharu secara manual daripada rentetan input menggunakan rentetan.Fungsi TrimSpace:

text = strings.TrimSpace(text)

Ini mengalih keluar sebarang aksara ruang kosong di hadapan dan di belakang, termasuk baris baharu, memastikan perbandingan yang bersih.

Atas ialah kandungan terperinci ReadString vs. ReadLine in Go: Bilakah Anda Harus Menggunakan Setiap Satu untuk Input Teks?. 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