Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Cekap Membaca Baris Tunggal daripada Fail Teks menjadi Rentetan dalam Go?

Bagaimana untuk Cekap Membaca Baris Tunggal daripada Fail Teks menjadi Rentetan dalam Go?

DDD
DDDasal
2024-12-20 08:10:14608semak imbas

How to Efficiently Read a Single Line from a Text File into a String in Go?

Membaca Rentetan daripada Fail Teks dalam Go

Apabila bekerja dengan fail teks dalam Go, mungkin wajar untuk membaca satu baris teks ke dalam rentetan. Walaupun perpustakaan standard menyediakan fungsi peringkat rendah yang mengembalikan tatasusunan bait, cara yang lebih mudah ialah menggunakan fungsi khusus yang mengendalikan tugas ini secara langsung.

Penyelesaian

Yang berikut kod menunjukkan cara membaca satu baris daripada fail teks ke dalam rentetan:

import (
    "bufio"
    "fmt"
    "os"
)

// ReadLine reads a single line from a file.
func ReadLine(r *bufio.Reader) (string, error) {
    var (
        isPrefix bool = true
        err       error
        line, ln  []byte
    )

    for isPrefix && err == nil {
        line, isPrefix, err = r.ReadLine()
        ln = append(ln, line...)
    }

    return string(ln), err
}

func main() {
    fi := `<path-to-your-file>`
    f, err := os.Open(fi)
    if err != nil {
        fmt.Println("error opening file= ", err)
        os.Exit(1)
    }
    defer f.Close()

    r := bufio.NewReader(f)
    s, e := ReadLine(r)
    for e == nil {
        fmt.Println(s)
        s, e = ReadLine(r)
    }
}

Kod ini membuka fail yang ditentukan, memulakan pembaca buffer, dan memanggil fungsi ReadLine untuk membaca setiap baris daripada fail. Rentetan yang terhasil dicetak untuk stdout.

Penggunaan

Panggil fungsi ReadLine pada pembaca penimbal untuk mendapatkan kandungan satu baris sebagai rentetan. Fungsi ReadLine mengendalikan membaca berbilang baris jika aksara baris baharu tidak terdapat dalam input.

Pendekatan ini menghapuskan keperluan untuk mengendalikan tatasusunan bait dan menukarnya kepada rentetan secara manual, menyediakan cara yang mudah dan cekap untuk membaca berorientasikan baris fail teks.

Atas ialah kandungan terperinci Bagaimana untuk Cekap Membaca Baris Tunggal daripada Fail Teks menjadi Rentetan dalam Go?. 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