Bacaan Baris Idiomatik dalam Go
Walaupun ketersediaan fungsi bacaan baris pengembalian tatasusunan bait peringkat rendah dalam perpustakaan standard Go, lebih mudah dan lebih banyak pendekatan idiomatik wujud untuk mendapatkan rentetan daripada garis baca operasi.
Penyelesaian
Untuk membaca dengan lancar baris demi baris daripada fail, fungsi Readln(*bufio.Reader) boleh digunakan. Ia mendapatkan semula baris (tidak termasuk aksara suapan baris) daripada bufio.Struktur Pembaca yang disediakan.
Berikut ialah coretan kod yang menunjukkan penggunaan Readln:
// Readln returns a single line (without the ending \n) // from the input buffered reader. // An error is returned iff there is an error with the // buffered reader. func Readln(r *bufio.Reader) (string, error) { var (isPrefix bool = true err error = nil line, ln []byte ) for isPrefix && err == nil { line, isPrefix, err = r.ReadLine() ln = append(ln, line...) } return string(ln),err }
Fungsi ini boleh digunakan untuk membaca setiap baris daripada fail:
f, err := os.Open(fi) if err != nil { fmt.Println("error opening file= ",err) os.Exit(1) } r := bufio.NewReader(f) s, e := Readln(r) for e == nil { fmt.Println(s) s,e = Readln(r) }
Kod ini membaca baris demi baris daripada fail yang ditentukan dan mencetak setiap baris ke output standard.
Atas ialah kandungan terperinci Bagaimana untuk Membaca Baris secara Idiomatik daripada Fail dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!