DevGang
Авторизоваться

Как удалить файлы в Golang 

В этом уроке мы объясним, как удалить файлы в Golang.

При работе с файлами и каталогами иногда нам нужно удалить определенный файл или все файлы из каталога. В Golang очень просто удалить файл. В пакете os есть методы Remove() и RemoveAll(), чтобы удалить файлы из каталога.

В этом руководстве мы объясним, как удалить определенный файл из каталога, а также удалить все файлы из каталога с помощью Golang.

Удаление определенного файла

Мы можем использовать метод Remove() для удаления файлов из каталога. В приведенном ниже примере кода мы передадим путь к файлу для удаления.

package main

import (
    "fmt"
    "os"
)

func main() {
    
    file := "C:/Go/bin/file/files/IMG_4322.jpg"
    
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println("File delete successfully.")
	   
}

Удаление всех файлов из каталога

Мы удалим все файлы, прочитав все файлы из каталога. Здесь мы откроем каталог с помощью метода os.Open(), а затем прочитаем каталог с помощью метода Readdir. Затем мы переберем все файлы и удалим один за другим, используя метод os.Remove().

package main

import (
    "fmt"
    "os"
)

func main() {
    
    directory := "C:/Go/bin/file/files/"
    
    readDirectory, _ := os.Open(directory)
    allFiles, _ := readDirectory.Readdir(0)
    
    for f := range(allFiles) {
        file := allFiles[f]

        fileName := file.Name()
        filePath := directory + fileName
        
        os.Remove(filePath)
        fmt.Println("Deleted file:", filePath)
    }
}

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

Deleted file: C:/Go/bin/file/files/IMG_4322.jpg
Deleted file: C:/Go/bin/file/files/IMG_4323.jpg
Deleted file: C:/Go/bin/file/files/IMG_4324.jpg
Deleted file: C:/Go/bin/file/files/IMG_4325.jpg

Мы также можем удалить все файлы из каталога с помощью метода os.RemoveAll(). Вот полный способ удаления всех файлов с помощью этого метода.

package main

import (
    "fmt"
    "os"
)

func main() {
    
    directory := "C:/Go/bin/file/files/"
    
    err := os.RemoveAll(directory) 
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println("All files deleted from directory.")
}
#Golang
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

Оплатив хостинг 25$ в подарок вы получите 100$ на счет

Получить