Golang: Eliminar archivo o directorio con todo su contenido

Publicado por parzibyte en

Eliminar archivo en Go

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.

Eliminar archivo en Go

Eliminar archivo en Go

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.

Eliminar archivo con Go

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.

El ejemplo de arriba removerá el archivo del disco duro. Cabe mencionar que en ocasiones puede necesitarse indicar la ruta absoluta.

Eliminar carpeta con todo su contenido con Go

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.

Por cierto, si la carpeta no existe la función no devuelve error. Y si encuentra un error será de tipo PathError.

Ejemplo de código completo

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:

Si quieres probar el código recuerda instalar Go en Windows o Linux.


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB.Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron.Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scriptsLa plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C.Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

0 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: