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
Lepaskan: 2024-12-26 19:13:14
asal
842 orang telah melayarinya

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')
Salin selepas log masuk

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()
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan