Функция os.Rename

Функция os.Rename переименовывает или перемещает файлы и директории. В первый параметр мы передаем текущий путь к файлу или директории, во второй параметр мы передаем новый путь. Функция возвращает ошибку error, которая будет равна nil в случае успешного выполнения.

Синтаксис

goerr := os.Rename(oldPath, newPath)

Пример

Давайте переименуем файл из "oldname.txt" в "newname.txt":

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  err := os.Rename("oldname.txt", "newname.txt")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println("File renamed successfully")
}

Результат выполнения кода:

go"File renamed successfully"

Пример

Давайте переместим файл в другую директорию:

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  err := os.Rename("file.txt", "subdir/file.txt")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println("File moved successfully")
}

Результат выполнения кода:

go"File moved successfully"

Пример

Обработаем ошибку, если файл не существует:

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  err := os.Rename("nonexistent.txt", "new.txt")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println("File renamed successfully")
}

Результат выполнения кода:

go"Error: rename nonexistent.txt: no such file or directory"

Смотрите также

  • функцию os.Remove,
    которая удаляет файл или пустую директорию
  • функцию os.RemoveAll,
    которая удаляет файл или директорию со всем содержимым
  • функцию os.Stat,
    которая возвращает информацию о файле или директории
  • функцию os.IsNotExist,
    которая проверяет, является ли ошибка ошибкой отсутствия файла