El lenguaje de programación Go (también conocido como GoLang) ofrece una manera sencilla de eliminar un archivo o eliminar una carpeta/directorio con todo su contenido a través de os
.
En este post veremos cómo eliminar un archivo y también cómo eliminar un directorio con todo su contenido: son dos operaciones distintas pero que de alguna forma se relacionan.
Para eliminar un archivo usamos a os.Remove
, pasándole la ruta del archivo que vamos a eliminar. La función os.Remove puede devolver un error que debemos manejar.
// Únicamente un archivo:
nombreArchivo := "hola.txt" // El nombre o ruta absoluta del archivo
err := os.Remove(nombreArchivo)
if err != nil {
fmt.Printf("Error eliminando archivo: %v\n", err)
} else {
fmt.Println("Eliminado correctamente")
}
El ejemplo de arriba removerá el archivo del disco duro. Cabe mencionar que en ocasiones puede necesitarse indicar la ruta absoluta.
Ahora echemos un vistazo a la función os.RemoveAll que recibe la ruta de una carpeta o directorio y remueve todo su contenido de manera recursiva.
Es decir, esta función elimina todo lo que haya dentro de una carpeta: archivos y carpetas. Además, si dentro de las carpetas encuentra más carpetas, irá eliminando el contenido de cada una de ellas.
// O una carpeta con todo su contenido, recursivamente
nombreCarpeta := "cosas"
// Nota: error ya no es definido con := porque fue definido anteriormente
err = os.RemoveAll(nombreCarpeta)
if err != nil {
fmt.Printf("Error eliminando carpeta con contenido: %v\n", err)
} else {
fmt.Println("Eliminada correctamente")
}
Por cierto, si la carpeta no existe la función no devuelve error. Y si encuentra un error será de tipo PathError.
Para reforzar lo que vimos anteriormente veamos este código completo que demuestra la eliminación de un archivo y de una carpeta con Go:
/*
Demostrar eliminación de archivo y carpeta con Go
*/
package main
import (
"fmt" // Para imprimir en la consola
"os" // Eliminar archivos
)
func main() {
// Únicamente un archivo:
nombreArchivo := "hola.txt" // El nombre o ruta absoluta del archivo
err := os.Remove(nombreArchivo)
if err != nil {
fmt.Printf("Error eliminando archivo: %v\n", err)
} else {
fmt.Println("Eliminado correctamente")
}
// O una carpeta con todo su contenido, recursivamente
nombreCarpeta := "cosas"
// Nota: error ya no es definido con := porque fue definido anteriormente
err = os.RemoveAll(nombreCarpeta)
if err != nil {
fmt.Printf("Error eliminando carpeta con contenido: %v\n", err)
} else {
fmt.Println("Eliminada correctamente")
}
}
Si quieres probar el código recuerda instalar Go en Windows o Linux.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.