Go で空のテキスト ファイルを作成する
テキスト ファイルを操作する場合、多くの場合、読み取りを試みる前にファイルが存在することを確認する必要があります。その内容。 Go では、一般的なアプローチは os.Open 関数を使用することですが、これには制限があります。ファイルが存在しない場合にパニックが発生します。
1 つの解決策は、まず、exists を使用してファイルが存在するかどうかを確認することです。質問で提供されている関数。ただし、このアプローチでは、ファイルが同時に作成されている場合に競合状態が発生する傾向があります。
これに対処するためのより堅牢な解決策は、os.O_CREATE フラグを指定して os.OpenFile 関数を使用することです。このフラグは、ファイルが存在しない場合にファイルを作成することを指定します:
file, err := os.OpenFile(name, os.O_RDONLY|os.O_CREATE, 0666) if err != nil { // Handle the error }
O_CREATE フラグを使用してファイルを開くと、ファイルが存在しない場合、Go は空のファイルを自動的に作成し、手動で作成する必要がなくなります。存在チェック。このアプローチは、テキスト ファイルを常に読み取り可能にする、クリーンで競合状態のない方法を提供します。
以上がGo で空のテキスト ファイルを確実に作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。