首頁 > 後端開發 > Golang > 如何在 Go 中高效地從文件中讀取一行作為字串?

如何在 Go 中高效地從文件中讀取一行作為字串?

Barbara Streisand
發布: 2024-12-08 03:18:11
原創
591 人瀏覽過

How to Efficiently Read a Line from a File as a String in Go?

Go 中的 readline 到 String

在 Go 中,標準函式庫為 readline 運算提供了低階原始函數,這些函數傳回位元組數組。有沒有更方便的方法從 readline 函數取得字串?

慣用解

Go 中 readline 到字串的慣用方法是利用 bufio。讀者結構。 Readln() 函數從輸入緩衝讀取器傳回一行(不含尾部換行符 n)。

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

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
}

func main() {
    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)
    }
}
登入後複製

此函數從檔案讀取行,剝離換行符 (n) 並將每行列印到控制台。

以上是如何在 Go 中高效地從文件中讀取一行作為字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板