Membaca dan Menulis Fail Teks ke Tatasusunan Rentetan dalam Go
Membaca dan menulis fail teks ke dalam dan keluar daripada tatasusunan rentetan adalah perkara biasa keperluan dalam pengaturcaraan. Dalam Go, ini boleh dicapai menggunakan API bufio.Scanner yang diperkenalkan dalam Go1.1.
Pertimbangkan coretan kod berikut yang menggunakan bufio.Scanner untuk membaca fail teks ke dalam tatasusunan rentetan:
package main import ( "bufio" "fmt" "log" "os" ) func readLines(path string) ([]string, error) { file, err := os.Open(path) if err != nil { return nil, err } defer file.Close() var lines []string scanner := bufio.NewScanner(file) for scanner.Scan() { lines = append(lines, scanner.Text()) } return lines, scanner.Err() } func main() { lines, err := readLines("foo.in.txt") if err != nil { log.Fatalf("readLines: %s", err) } for i, line := range lines { fmt.Println(i, line) } }
Fungsi ini membuka fail yang ditentukan, mencipta bufio.Pengimbas untuk fail, berulang pada setiap baris dalam fail dan menambahkan baris pada tatasusunan rentetan.
Anda juga boleh menulis tatasusunan rentetan pada fail teks menggunakan fungsi writeLines:
func writeLines(lines []string, path string) error { file, err := os.Create(path) if err != nil { return err } defer file.Close() w := bufio.NewWriter(file) for _, line := range lines { fmt.Fprintln(w, line) } return w.Flush() } func main() { lines := []string{"line 1", "line 2", "line 3"} if err := writeLines(lines, "foo.out.txt"); err != nil { log.Fatalf("writeLines: %s", err) } }
Fungsi ini mencipta fail, menulis baris ke fail menggunakan bufio.Writer, dan siram penulis untuk memastikan semua data ditulis pada fail.
Fungsi ini menyediakan cara yang mudah dan berkesan untuk membaca dan tulis fail teks ke dalam dan keluar dari tatasusunan rentetan dalam Go.
Atas ialah kandungan terperinci Bagaimana untuk Membaca dan Menulis Fail Teks ke Susunan Rentetan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!