Go で入出力操作を行う場合、多くの場合、テキスト行を文字列として読み取る必要があります。ただし、標準ライブラリの readline 関数は主にバイト配列を返します。
Readln 関数は、バイト配列を readline から文字列に変換する便利な方法を提供します。その仕組みは次のとおりです:
<br>import (</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">"bufio" "fmt" "os"
)
// Readln は 1 行を返します (末尾の n なし)
// 入力バッファーリーダーから。
// エラーがある場合はエラーが返されます。 the
// バッファされたリーダー.
func Readln(r *bufio.Reader) (string, error) {
var (
isPrefix bool = true err error = nil line, ln []byte
)
for isPrefix && エラー == nil {
line, isPrefix, err = r.ReadLine() ln = append(ln, line...)
}
return string(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);エラー == nil; 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 中国語 Web サイトの他の関連記事を参照してください。