Rad s datotekama i direktorijima bitan je zadatak za aplikacije koje trebaju pohranjivati i dohvaćati podatke. Go pruža paket filepath za operacije staze datoteke neovisne o platformi. Paket uključuje funkcije za manipuliranje stazama datoteka i kompatibilan je sa sustavima Windows, Linux i macOS.
Funkcije koje uključuje filepath mogu spajati, dijeliti i čistiti staze datoteka kako bi se osigurala njihova valjanost. Paket također ima funkcije za hodanje imenika i traženje datoteka.
Pješačka stabla imenika
The Hodati funkcija put datoteke paket pruža funkcionalnost za hodanje stablom direktorija i kretanje kroz datoteke i direktorije na način predbilježbe. Rekurzivno će posjetiti sve direktorije ispod zadanog korijena. Funkcija Walk uzima korijenski direktorij i funkciju koja uzima stazu, instancu informacija o datoteci i instancu pogreške.
paket glavni
uvoz (
"fmt"
"staza/putanja datoteke"
"os"
)funkglavni() {
// Definira korijenski direktorij za početak hoda
korijen := "."// Koristi funkciju Walk za hodanje stablom imenika
pogreška := put datoteke. Šetnja (korijen, funk(staza niz, info os. FileInfo, err pogreška)greška {
ako pogriješiti != nula {
povratak pogriješiti
}// Ispisuje naziv svake datoteke ili direktorija
fmt. Println (put)
povrataknula
})
// Provjerava pogreške
ako pogriješiti != nula {
fmt. Ispisf("Pogreška pri kretanju stablom imenika: %v\n", pogreška)
}
}
Ovaj program definira korijenski direktorij kao trenutni radni direktorij. The glavni prolazi kroz direktorije u korijenskom direktoriju i ispisuje nazive datoteka.
Podudaranje datoteka s podudaranjem uzorka
Možete koristiti Podudaranje funkcija za usklađivanje naziva datoteka s uzorkom. Sintaksa uzorka temelji se na zajedničkom sintaksa zamjenskih znakova datoteke koja koristi metaznakove, poznati kao glob uzorci u Unix okruženjima.
paket glavni
uvoz (
"fmt"
"staza/putanja datoteke"
)funkglavni() {
// Definira uzorak za podudaranje
uzorak := "*.txt"// Koristi funkciju podudaranja za podudaranje uzorka na datotekama
podudaranje, greška := put do datoteke. Podudaranje (uzorak, "datoteka.txt")ako pogriješiti != nula {
fmt. Ispisf("Pogreška pri podudaranju uzorka: %v\n", pogreška)
povratak
}
// Ispisuje rezultat podudaranja
ako odgovara {
fmt. Println("Datoteka odgovara uzorku.")
} drugo {
fmt. Println("Datoteka ne odgovara uzorku.")
}
}
The glavni funkcija odgovara nazivu datoteke u odnosu na *.txt uzorak i ispisuje niz ovisno o rezultatu uvjetna izjava.
Čišćenje staza s funkcijom Clean
The Čist funkcija uzima put datoteke i vraća očišćenu verziju puta uklanjanjem nepotrebnih separatora i promjena direktorija, kao što je . (trenutni imenik) i .. (nadređeni direktorij) segmenti.
Čišćenje staza datoteka je korisno jer pomaže u izbjegavanju pogrešaka ako staza sadrži suvišne separatore ili nevažeće segmente ili konstruira staze neovisne o trenutnom radnom direktoriju.
paket glavni
uvoz (
"fmt"
"staza/putanja datoteke"
)funkglavni() {
// Stvara stazu sa suvišnim separatorima i nevažećim segmentima
put := "/foo/bar//baz/.././qux/"// Čisti put
cleanPath := filepath. Čisti (put)
// Ispisuje izvornu i očišćenu stazu datoteke
fmt. Println("Izvorni put:", staza)
fmt. Println("Očišćena staza:", cleanPath)
}
The staza varijabla je početni put datoteke, a Čist funkcija čisti staza varijablu i vraća očišćenu stazu datoteke. The glavni ispisuje početnu i čistu stazu datoteke.
Spajanje i razdvajanje putova datoteka u Gou
The Pridružiti i Podjela funkcije pružaju funkcionalnost za spajanje i razdvajanje staza datoteka.
Funkcija Join preuzima bilo koji broj elemenata staze. Vraća jedan niz putanje datoteke koji je rezultat ulančavanja tih elemenata pomoću odgovarajućeg razdjelnika putanje za operativni sustav. The Pridružiti funkcija je korisna za konstruiranje staza datoteka neovisno o osnovnom datotečnom sustavu.
paket glavni
uvoz (
"fmt"
"staza/putanja datoteke"
)funkglavni() {
// Definira četiri putanje datoteka za operaciju spajanja
put1 := "mapa1"
put2 := "mapa2"
put3 := "podmapa1"
put4 := "primjer.txt"// Spaja četiri staze datoteke u jednu stazu
joinedPath := filepath. Pridružite se (put1, put2, put3, put4)
// Ispis objedinjene putanje datoteke
fmt. Println("Spojeni put:", joinedPath)
}
The put1, put2, i put3 varijable su nazivi mapa i put4 varijabla je naziv datoteke. The Pridružiti funkcija uzima nazive varijabli staze i vraća spojenu stazu datoteke. The glavni funkcija ispisuje spojenu stazu datoteke na konzolu s fmt paket.
The Podjela funkcija uzima niz staze i vraća komponente imenika staze i naziva datoteke. The Podjela funkcija je korisna za izdvajanje naziva datoteka ili određivanje nadređenog direktorija datoteke.
paket glavni
uvoz (
"fmt"
"staza/putanja datoteke"
)
funkglavni() {
// Postavlja putanju datoteke za operaciju dijeljenja
Putanja datoteke := "/home/user/documents/example.txt"
// Koristite funkciju Split da biste podijelili put datoteke
// u svoj direktorij i komponente datoteke
dir, datoteka := putanja datoteke. Podijeli (putanja datoteke)
// Ispis imenika i komponenti datoteke
fmt. Println("Imenik:", dir)
fmt. Println("Datoteka:", datoteka)
}
The filePath varijabla je izvorna staza datoteke, a Podjela funkcija preuzima filePath varijablu i vraća nazive direktorija i datoteka kao nizove. The glavni funkcija ispisuje nazive direktorija i datoteka na konzolu.
Možete manipulirati tekstualnim datotekama s Go
Uz funkcionalnost datotečnog sustava, Go nudi pakete koji vam pomažu u radu s više vrsta datoteka, uključujući tekstualne datoteke.
Možete koristiti bufio paket za međuspremnik ulaznih i izlaznih operacija na tekstualnim datotekama i os paket za stvaranje datoteka, između ostalih operacija.