Go での適切なファイル ポインターの巻き戻し
Go では、スキャナーまたはリーダーを使用してファイルを読み取ることができます。一般的なシナリオは、スキャナーを使用してファイルを読み取り、ファイル ポインターを巻き戻して、リーダーを使用してファイルを再度読み取ることです。ただし、ファイル ポインターを巻き戻す推奨方法は、Seek() メソッドを使用することです。
Seek() メソッドは、オフセットと開始位置の 2 つの引数を受け取ります。ファイル ポインタをファイルの先頭まで巻き戻すには、次のコード スニペットを使用できます。
data.Seek(0, io.SeekStart)
多くの場合、ファイルを閉じて再度開くよりも、Seek() メソッドを使用してファイル ポインタを巻き戻す方が高速です。ファイル。ただし、ファイルの小さな部分を何度も読み取る必要がある場合は、繰り返しのシークを避けるためにファイルを 2 回開く方が効率的である可能性があります。
io.Reader としての File の使用については、os.File は io.Reader を実装しているので、io.Reader として使用できます。さらに、os.File はファイルに固有の追加メソッドを提供するため、一般的には bufio.NewReader() orioutil.NewReader(). を使用するよりも
os.File を直接使用することをお勧めします。以上がGo でファイル ポインタを効率的に巻き戻すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。