Функция os.Remove
Функция os.Remove удаляет файл или пустую директорию
по указанному пути. Она принимает один параметр - строку
с путем к удаляемому объекту. В случае успешного удаления
функция возвращает nil, в противном случае -
ошибку error. Важно помнить, что функция удаляет
только пустые директории. Для удаления директории со всем
содержимым используется функция os.RemoveAll.
Синтаксис
os.Remove(path)
Пример
Давайте создадим файл и удалим его с помощью функции os.Remove:
package 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")
}
Результат выполнения кода:
"File removed successfully"
Пример
Давайте попробуем удалить несуществующий файл и обработаем ошибку:
package main
import (
"fmt"
"os"
)
func main() {
err := os.Remove("nonexistent.txt")
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("File removed successfully")
}
Результат выполнения кода:
"Error: remove nonexistent.txt: no such file or directory"
Пример
Давайте попробуем удалить пустую директорию с помощью функции os.Remove:
package 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")
}
Результат выполнения кода:
"Directory removed successfully"
Пример
Давайте попробуем удалить непустую директорию с помощью функции os.Remove:
package 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")
}
Результат выполнения кода:
"Error removing dir: remove nonempty_dir: directory not empty"
Смотрите также
-
функцию
os.RemoveAll,
которая рекурсивно удаляет директорию со всем содержимым -
функцию
os.Mkdir,
которая создает директорию с указанными правами доступа -
функцию
os.MkdirAll,
которая создает вложенные директории по указанному пути -
функцию
os.Rename,
которая переименовывает или перемещает файл или директорию