Go でテキスト ファイルから文字列を読み取る
Go でテキスト ファイルを操作する場合、次の行を読み取ることが望ましい場合があります。テキストを文字列に変換します。標準ライブラリはバイト配列を返す低レベル関数を提供しますが、より便利な方法は、このタスクを直接処理する特殊な関数を使用することです。
解決策
以下コードは、テキスト ファイルから 1 行を文字列に読み取る方法を示しています。
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) } }
このコードは、指定されたファイルを開き、ファイルを初期化します。バッファされたリーダーを呼び出し、ReadLine 関数を呼び出してファイルから各行を読み取ります。結果の文字列は標準出力に出力されます。
使用法
バッファ リーダーで ReadLine 関数を呼び出して、単一行の内容を文字列として取得します。 ReadLine 関数は、入力に改行文字が存在しない場合に複数行の読み取りを処理します。
このアプローチにより、バイト配列を処理して手動で文字列に変換する必要がなくなり、行指向の読み取りを行うシンプルで効率的な方法が提供されます。テキスト ファイル。
以上がGo でテキスト ファイルから 1 行を文字列に効率的に読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。