I lettori come te aiutano a sostenere MUO. Quando effettui un acquisto utilizzando i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Per saperne di più.

Lavorare con file e directory è un'attività essenziale per le applicazioni che devono archiviare e recuperare dati. Go fornisce il pacchetto filepath per operazioni di percorso file indipendenti dalla piattaforma. Il pacchetto include funzioni per manipolare i percorsi dei file ed è compatibile con Windows, Linux e macOS.

Le funzioni incluse in filepath possono unire, dividere e pulire i percorsi dei file per garantire che siano validi. Il pacchetto ha anche funzioni per camminare nelle directory e cercare file.

Alberi di directory ambulanti

IL Camminare funzione del percorso del file Il pacchetto fornisce funzionalità per percorrere un albero di directory e attraversare file e directory in modo preordinato. Visiterà in modo ricorsivo tutte le directory al di sotto della radice specificata. La funzione Walk accetta una directory radice e una funzione che accetta il percorso, l'istanza delle informazioni sul file e un'istanza dell'errore.

instagram viewer

pacchetto principale

importare (
"fmt"
"percorso/percorso file"
"os"
)

funzprincipale() {
// Definisce la directory principale per iniziare la passeggiata
radice := "."

// Utilizza la funzione Walk per percorrere l'albero delle directory
err := percorso file. Cammina (radice, funz(sentiero corda, informazioni os. FileInfo, err errore)errore {
Se errare!= zero {
ritorno errare
}

// Stampa il nome di ciascun file o directory
fmt. Println (percorso)
ritornozero
})

// Verifica la presenza di errori
Se errare!= zero {
fmt. Stampaf("Errore durante la navigazione nell'albero delle directory: %v\n", ehm)
}
}

Questo programma definisce la directory principale come directory di lavoro corrente. IL principale La funzione attraversa le directory nella directory principale e stampa i nomi dei file.

Corrispondenza dei file con la corrispondenza del modello

Puoi usare il Incontro funzione per confrontare i nomi dei file con uno schema. La sintassi del modello è basata sul comune file sintassi jolly, che utilizza i metacaratteri, noti come modelli glob negli ambienti Unix.

pacchetto principale

importare (
"fmt"
"percorso/percorso file"
)

funzprincipale() {
// Definisce il modello da abbinare
modello := "*.TXT"

// Utilizza la funzione Match per abbinare il modello sui file
match, err := percorso file. Abbinamento (motivo, "file.txt")

Se errare!= zero {
fmt. Stampaf("Errore nel modello di corrispondenza: %v\n", ehm)
ritorno
}

// Stampa il risultato della corrispondenza
Se incontro {
fmt. Stampaln("Il file corrisponde al modello.")
} altro {
fmt. Stampaln("Il file non corrisponde al modello.")
}
}

IL principale la funzione confronta un nome di file con il *.TXT pattern e stampa una stringa in base al risultato di l'affermazione condizionale.

Pulizia dei percorsi con la funzione Clean

IL Pulito La funzione accetta un percorso di file e restituisce una versione pulita di un percorso rimuovendo separatori e modifiche di directory non necessari, ad esempio . (directory corrente) e .. (directory padre) segmenti.

La pulizia dei percorsi dei file è utile poiché aiuta a evitare errori se un percorso contiene separatori ridondanti o segmenti non validi o crea percorsi indipendenti dalla directory di lavoro corrente.

pacchetto principale

importare (
"fmt"
"percorso/percorso file"
)

funzprincipale() {
// Crea un percorso con separatori ridondanti e segmenti non validi
percorso := "/foo/bar//baz/.././qux/"

// Pulisce il percorso
cleanPath := percorso file. Pulito (percorso)

// Stampa i percorsi dei file originali e puliti
fmt. Stampaln("Percorso originale:", sentiero)
fmt. Stampaln("Percorso pulito:", cleanPath)
}

IL sentiero variabile è il percorso del file iniziale e il Pulito funzione pulisce il sentiero variabile e restituisce il percorso del file pulito. IL principale la funzione stampa i percorsi dei file iniziali e puliti.

Unire e dividere percorsi di file in Go

IL Giuntura E Diviso Le funzioni forniscono funzionalità per unire e dividere i percorsi dei file.

La funzione Join accetta qualsiasi numero di elementi di percorso. Restituisce una singola stringa di percorso file risultante dalla concatenazione di tali elementi utilizzando il separatore di percorso appropriato per il sistema operativo. IL Giuntura La funzione è utile per costruire percorsi di file indipendenti dal file system sottostante.

pacchetto principale

importare (
"fmt"
"percorso/percorso file"
)

funzprincipale() {
// Definisce quattro percorsi di file per l'operazione di join
percorso1 := "cartella1"
percorso2 := "cartella2"
percorso3 := "sottocartella1"
percorso4 := "esempio.txt"

// Unisce i quattro percorsi di file in un unico percorso
joinPath := percorso file. Unisciti (percorso1, percorso2, percorso3, percorso4)

// Stampa il percorso del file unificato
fmt. Stampaln("Percorso unito:", joinPath)
}

IL percorso1, percorso2, E percorso3 le variabili sono i nomi delle cartelle e il file percorso4 variabile è un nome di file. IL Giuntura La funzione accetta i nomi delle variabili di percorso e restituisce il percorso del file concatenato. IL principale La funzione stampa il percorso del file concatenato alla console con l'estensione fmt pacchetto.

IL Diviso La funzione accetta una stringa di percorso e restituisce i componenti della directory e del nome file del percorso. IL Diviso La funzione è utile per estrarre i nomi dei file o determinare la directory principale di un file.

pacchetto principale

importare (
"fmt"
"percorso/percorso file"
)

funzprincipale() {
// Imposta il percorso del file per l'operazione di divisione
filePath := "/home/utente/documenti/esempio.txt"

// Usa la funzione Dividi per dividere il percorso del file
// nella sua directory e nei componenti del file
dir, file := percorso file. Dividi (filePath)

// Stampa i componenti della directory e del file
fmt. Stampaln("Rubrica:", dir)
fmt. Stampaln("File:", file)
}

IL percorso del file variabile è il percorso del file originale e il Diviso funzione prende in percorso del file variabile e restituisce i nomi di directory e file come stringhe. IL principale La funzione stampa la directory e i nomi dei file nella console.

Puoi manipolare i file di testo con Go

Oltre alla funzionalità del file system, Go fornisce pacchetti per aiutarti a lavorare con più tipi di file, inclusi i file di testo.

Puoi usare il bufio pacchetto alle operazioni di input e output bufferizzate su file di testo e il os pacchetto per la creazione di file, tra le altre operazioni.