Apabila bekerja dengan operasi input/output dalam Go, selalunya perlu membaca baris teks sebagai rentetan. Walau bagaimanapun, fungsi baris baca perpustakaan standard terutamanya mengembalikan tatasusunan bait.
Fungsi Readln menyediakan cara yang mudah untuk menukar tatasusunan bait daripada baris baca kepada rentetan. Begini caranya:
import (
"bufio" "fmt" "os"
)
// Readln mengembalikan satu baris (tanpa penghujung n)
// daripada pembaca buffer input.
// Ralat dikembalikan jika terdapat ralat dengan the
// pembaca buffer.
func Readln(r *bufio.Reader) (rentetan, ralat) {
var (
isPrefix bool = true err error = nil line, ln []byte
)
untuk isPrefix && err == tiada {
line, isPrefix, err = r.ReadLine() ln = append(ln, line...)
}
kembali rentetan(ln), err
}
func main() {
f, err := os.Buka ("filename.txt")
if err != nil {
fmt.Println("error opening file= ", err) os.Exit(1)
}
r := bufio.NewReader(f)
untuk baris, err := Readln(r); err == tiada; line, err = Readln(r) {
fmt.Println(line)
}
if err != io.EOF {
fmt.Println("error reading file= ", err) os.Exit(1)
}
}
Yang utama() fungsi membuka fail, mencipta pembaca buffer daripadanya, dan kemudian menggunakan fungsi Readln untuk mengulangi setiap baris dalam fail. Fungsi Readln mengembalikan kedua-dua baris sebagai rentetan dan nilai ralat. Program ini meneruskan bacaan baris sehingga penghujung fail dicapai atau ralat berlaku.
Pendekatan ini memudahkan bacaan baris dalam Go, menyediakan kaedah yang lebih idiomatik dan mesra pengguna untuk mendapatkan rentetan daripada input.
Atas ialah kandungan terperinci Bagaimanakah Fungsi `Readln` Go Dapat Memudahkan Pembacaan Baris Idiomatik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!