Go でファイル全体を文字列に読み取る
多数の小さなファイルを処理する場合、各行を個別に読み取るのは非効率的になる可能性があります。 Go には、ファイル全体を 1 つの文字列変数に読み込むための便利な関数が用意されています。
非推奨の ioutil パッケージを使用した解決策:
古い ioutil パッケージには、と呼ばれる関数が含まれています。バイトスライスへのファイルの読み取りを可能にする ReadFile:
func ReadFile(filename string) ([]byte, error)
この関数はバイトを返すことに注意してくださいスライス。必要に応じて文字列に変換する必要があります:
s := string(buf)
io パッケージを使用した解決策 (新しいコードに推奨):
io パッケージは、 ioutil.ReadFile:
func ReadAll(r io.Reader) ([]byte, error)
の最新かつ推奨される代替手段。この関数は入力として io.Reader を必要とします。 os.Open:
file, err := os.Open(filename) if err != nil { // Handle error } data, err := io.ReadAll(file) if err != nil { // Handle error }
結果のバイト スライスは、必要に応じて再度文字列に変換できます。
以上がGo でファイル全体を文字列に効率的に読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。