Функция os.Remove

Функция os.Remove удаляет файл или пустую директорию по указанному пути. Она принимает один параметр - строку с путем к удаляемому объекту. В случае успешного удаления функция возвращает nil, в противном случае - ошибку error. Важно помнить, что функция удаляет только пустые директории. Для удаления директории со всем содержимым используется функция os.RemoveAll.

Синтаксис

goos.Remove(path)

Пример

Давайте создадим файл и удалим его с помощью функции os.Remove:

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  file, err := os.Create("example.txt")
  if err != nil {
    fmt.Println("Error creating file:", err)
    return
  }
  file.Close()

  err = os.Remove("example.txt")
  if err != nil {
    fmt.Println("Error removing file:", err)
    return
  }

  fmt.Println("File removed successfully")
}

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

go"File removed successfully"

Пример

Давайте попробуем удалить несуществующий файл и обработаем ошибку:

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  err := os.Remove("nonexistent.txt")
  if err != nil {
    fmt.Println("Error:", err)
    return
  }

  fmt.Println("File removed successfully")
}

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

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

Пример

Давайте попробуем удалить пустую директорию с помощью функции os.Remove:

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  err := os.Mkdir("empty_dir", 0755)
  if err != nil {
    fmt.Println("Error creating dir:", err)
    return
  }

  err = os.Remove("empty_dir")
  if err != nil {
    fmt.Println("Error removing dir:", err)
    return
  }

  fmt.Println("Directory removed successfully")
}

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

go"Directory removed successfully"

Пример

Давайте попробуем удалить непустую директорию с помощью функции os.Remove:

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  err := os.Mkdir("nonempty_dir", 0755)
  if err != nil {
    fmt.Println("Error creating dir:", err)
    return
  }

  file, err := os.Create("nonempty_dir/file.txt")
  if err != nil {
    fmt.Println("Error creating file:", err)
    return
  }
  file.Close()

  err = os.Remove("nonempty_dir")
  if err != nil {
    fmt.Println("Error removing dir:", err)
    return
  }

  fmt.Println("Directory removed successfully")
}

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

go"Error removing dir: remove nonempty_dir: directory not empty"

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

  • функцию os.RemoveAll,
    которая рекурсивно удаляет директорию со всем содержимым
  • функцию os.Mkdir,
    которая создает директорию с указанными правами доступа
  • функцию os.MkdirAll,
    которая создает вложенные директории по указанному пути
  • функцию os.Rename,
    которая переименовывает или перемещает файл или директорию