Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah cara saya membaca fail teks di Golang?

Bagaimanakah cara saya membaca fail teks di Golang?

Barbara Streisand
Barbara Streisandasal
2024-11-27 07:10:13655semak imbas

How do I read text files in Golang?

Membaca Fail Teks di Golang

Apabila bekerja dengan fail teks, membaca kandungannya menjadi pembolehubah menjadi perlu. Golang menyediakan beberapa cara untuk mencapai ini, seperti yang ditunjukkan di bawah:

Output Langsung

Untuk mencetak keseluruhan kandungan fail teks, gunakan fmt.Print(file). Walau bagaimanapun, ini akan mengeluarkan nilai penunjuk deskriptor fail, bukan kandungan fail.

ioutil.ReadAll

Fungsi ini membaca semua kandungan fail ke dalam memori sebagai bait:

b, err := io.ReadAll(file)
fmt.Print(b)

io.Reader.Read

Membaca dalam bahagian yang lebih kecil boleh menjadi lebih cekap memori untuk fail besar:

buf := make([]byte, 32*1024) // Define buffer size

for {
    n, err := file.Read(buf)
    if n > 0 {
        fmt.Print(buf[:n])
    }

    if err == io.EOF {
        break
    }
    if err != nil {
        log.Printf("read %d bytes: %v", n, err)
        break
    }
}

bufio.Scanner

Menggunakan Pengimbas menandakan fail berdasarkan pemisah, dengan lalainya ialah baris baharu:

scanner := bufio.NewScanner(file)

for scanner.Scan() {
    fmt.Println(scanner.Text()) // Token as unicode characters
    fmt.Println(scanner.Bytes()) // Token as bytes
}

Untuk mendapatkan maklumat dan contoh tambahan, rujuk pada helaian curang fail Golang untuk teknik pengendalian fail yang komprehensif.

Atas ialah kandungan terperinci Bagaimanakah cara saya membaca fail teks di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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 sebelumnya:Menguasai ENUM dalam GoArtikel seterusnya:Menguasai ENUM dalam Go