Il Go, noto anche come Golang, offre diverse funzionalità incorporate per gestire file e directory, rendendo più semplice per gli sviluppatori lavorare con il filesystem. In questo articolo, esamineremo come utilizzare il pacchetto os per leggere il contenuto di una directory e ottenere informazioni sui file.
Per leggere i file di una directory in Go, possiamo utilizzare la funzione ReadDir
del pacchetto os
. Questa funzione restituisce una slice di os.DirEntry
, che rappresentano le voci della directory.
Ecco un esempio di come utilizzare ReadDir
:
package main
import (
"fmt"
"os"
)
func main() {
// Percorso della directory da leggere
dirPath := "./"
// Legge il contenuto della directory
entries, err := os.ReadDir(dirPath)
if err != nil {
fmt.Println("Errore nella lettura della directory:", err)
os.Exit(1)
}
// Stampa il nome di ogni voce trovata
for _, entry := range entries {
fmt.Println(entry.Name())
}
}
Per ottenere informazioni dettagliate su un file specifico, come le dimensioni, i permessi o i tempi di modifica, possiamo utilizzare il metodo Info()
che si trova su un oggetto os.DirEntry
ottenuto dalla ReadDir
.
Ecco come si può fare:
package main
import (
"fmt"
"os"
)
func main() {
dirPath := "./"
entries, err := os.ReadDir(dirPath)
if err != nil {
fmt.Println("Errore nella lettura della directory:", err)
os.Exit(1)
}
for _, entry := range entries {
info, err := entry.Info()
if err != nil {
fmt.Println("Errore nell'ottenere le informazioni del file:", err)
continue
}
// Stampa dettagli del file
fmt.Printf("Nome: %s, Dimensione: %d, Permessi: %s\n", info.Name(), info.Size(), info.Mode())
}
}
Questi sono solo alcuni esempi basilari di come lavorare con i file e le directory in Go. Il pacchetto os
fornisce molte altre funzioni utili che possono aiutarti a realizzare operazioni più complesse, come la modifica dei permessi dei file, il controllo se una voce è un file o una directory, e molto altro.
Go rende semplice lavorare con il filesystem grazie alla sua standard library ben progettata. Sperimentare con queste funzioni e leggere la documentazione ufficiale può aiutarti a sfruttare appieno le capacità del linguaggio per le operazioni sui file e sulle directory.