os.Rename() 関数を使用してファイルの名前変更を完了する場合は、効率を向上させるために次のベスト プラクティスに従ってください: ① パーティションまたはディスク間での名前変更を避ける; ② ターゲット ファイルが存在しないことを確認する; ③ 一時ファイルを使用する (大きなファイル) ; ④ goroutine を使用します (大量のファイルの名前を変更する場合)。
Go で効率的にファイル名を変更するためのベスト プラクティス
Go での os.Rename() の使用
関数これは、ファイルの名前変更タスクを実行する標準的な方法です。この関数には、現在のファイル パスと新しいファイル パスの 2 つのパラメータが必要です。 os.Rename()
を使用するための基本的な構文は次のとおりです:
package main import ( "os" ) func main() { err := os.Rename("old_file.txt", "new_file.txt") if err != nil { // 处理错误 } }
ファイル名の変更を効率的に行うために、従うべきベスト プラクティスがいくつかあります。
os.Rename()
この関数は、パーティションまたはディスク間でファイルの名前を変更することはできません。パーティションまたはディスク間でファイルを移動する必要がある場合は、io.Copy()
関数と os.Remove()
関数を使用します。 os.Rename()
を使用する前に、ターゲット ファイルが存在しないことを確認してください。それ以外の場合、名前変更操作は失敗し、エラーが返されます。 実際的なケース:
次は、os.Rename()
関数を使用して、ファイル内のすべてのファイルの名前を変更する例です。フォルダー:
package main import ( "fmt" "os" ) func main() { files, _ := os.ReadDir(".") for _, file := range files { if file.IsDir() { continue } newFileName := fmt.Sprintf("%s_renamed", file.Name()) err := os.Rename(file.Name(), newFileName) if err != nil { // 处理错误 } } }
このプログラムは、現在のディレクトリを検索し、ディレクトリ以外のすべてのファイルの名前を変更し、新しいファイル名に「_renamed」接尾辞を追加します。
以上がGo 言語でのファイル名変更のベスト プラクティスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。