Membaca dan Menulis Fail Teks sebagai Tatasusunan Rentetan dalam Go
Keupayaan untuk mengendalikan fail teks adalah keperluan biasa dalam pengaturcaraan, termasuk membaca dan menulis kepada tatasusunan rentetan. Dalam Go, penyelesaian wujud untuk menangani keperluan ini.
Membaca Fail Teks
Setakat Go 1.1, API bufio.Scanner menyediakan cara yang cekap untuk membaca baris daripada fail ke dalam kepingan rentetan. Berikut ialah contoh:
import ( "bufio" "fmt" "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() }
Fungsi ini membaca keseluruhan fail ke dalam memori dan mengembalikan sekeping barisnya.
Menulis Fail Teks
Untuk menulis kepingan rentetan pada fail teks, anda boleh menggunakan bufio.Writer taip:
import ( "bufio" "fmt" "os" ) 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() }
Fungsi ini mencipta fail, menulis baris padanya dan mengepam penimbal untuk memastikan data ditulis pada cakera.
Contoh Penggunaan
Berikut ialah contoh cara menggunakan fungsi ini:
lines, err := readLines("foo.in.txt") if err != nil { log.Fatalf("readLines: %s", err) } // Process the lines... if err := writeLines(lines, "foo.out.txt"); err != nil { log.Fatalf("writeLines: %s", err) }
Kod ini berbunyi baris daripada fail "foo.in.txt", memprosesnya dan menulisnya ke fail "foo.out.txt".
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca dan Menulis Fail Teks sebagai Tatasusunan Rentetan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!