Go で行を文字列に効率的に読み取る
Go の標準ライブラリは、入力を読み取るための低レベル関数を提供し、代わりにバイト配列を返します。文字列。使いやすくするために、readline 関数から直接文字列を取得する別のアプローチを検討します。
カスタム Readln 関数
readline 操作を簡素化するために、カスタム Readln 関数を作成します。提供されたファイルから単一行 (改行文字を除く) を読み取る Readln 関数bufio.Reader:
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 }
使用例
Readln 関数を使用すると、ファイルから行を読み取り、stdout に出力できます:
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) }
このアプローチにより、バイト配列を文字列に手動で変換する必要がなくなり、プロセスが合理化されます。 Go の readline 関数から文字列を取得します。
以上がGo で効率的に行を文字列に読み込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。