首頁 >後端開發 >Golang >Go 的 Readln 函數如何簡化慣用的行讀取?

Go 的 Readln 函數如何簡化慣用的行讀取?

DDD
DDD原創
2024-12-05 17:13:17688瀏覽

How Can Go's `Readln` Function Simplify Idiomatic Line Reading?

使用 Readln 進行 Go 中的慣用行讀取

在 Go 中進行輸入/輸出操作時,通常需要將一行文字讀取為字串。然而,標準庫 readline 函數主要傳回位元組數組。

便捷的解決方案:Readln 函數

Readln 函數提供了一種將位元組數組從 readline 轉換為字串的便捷方法。它的運作原理如下:

<br>import (<pre class="brush:php;toolbar:false">"bufio"
"fmt"
"os"

)

// Readln 回傳一行(沒有結尾n)
/ / 來自輸入緩衝讀取器。
// 如果有錯誤,則傳回錯誤
// 緩衝讀取器。
func Readln(r *bufio.Reader) (string, error) {
var (

isPrefix bool = true
err error = nil
line, ln []byte

)

for isPrefix &&錯誤==零{

line, isPrefix, err = r.ReadLine()
ln = append(ln, line...)

}

回傳字串(ln), err
}

func main() {
f, err := os.Open ("filename.txt")
if err != nil {

fmt.Println("error opening file= ", err)
os.Exit(1)

}

r := bufio.NewReader(f)

對於行,err := Readln(r);錯誤==零; line, err = Readln(r) {

fmt.Println(line)

}

if err != io.EOF {

fmt.Println("error reading file= ", err)
os.Exit(1)

}
}

範例用法

main()函數開啟一個文件,從中建立一個緩衝讀取器,然後使用 Readln 函數迭代文件中的每一行。 Readln 函數以字串形式傳回該行並傳回錯誤值。程式會繼續讀取行,直到到達文件末尾或發生錯誤。

這種方法簡化了 Go 中的行讀取,提供了一種更慣用且用戶友好的方法來從輸入中獲取字串。

以上是Go 的 Readln 函數如何簡化慣用的行讀取?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn