Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu. Čítaj viac.

Práca so súbormi a adresármi je základnou úlohou pre aplikácie, ktoré potrebujú ukladať a získavať dáta. Go poskytuje balík filepath pre operácie s cestami k súboru nezávislé od platformy. Balík obsahuje funkcie na manipuláciu s cestami k súborom a je kompatibilný so systémami Windows, Linux a macOS.

Funkcie, ktoré cesta k súboru obsahuje, môžu spájať, rozdeľovať a čistiť cesty k súborom, aby sa zabezpečilo, že sú platné. Balík má aj funkcie na chodenie po adresároch a vyhľadávanie súborov.

Chodiace adresárové stromy

The Prechádzka funkciu cesta k súboru balík poskytuje funkcie na prechádzanie stromom adresárov a prechádzanie cez súbory a adresáre spôsobom predobjednávky. Rekurzívne navštívi všetky adresáre pod daným koreňovým adresárom. Funkcia Walk preberá koreňový adresár a funkciu, ktorá preberá cestu, inštanciu informácií o súbore a inštanciu chyby.

instagram viewer
balík Hlavná

importovať (
"fmt"
"cesta/cesta k súboru"
"os"
)

funcHlavná() {
// Definuje koreňový adresár na spustenie chôdze
koreň := "."

// Používa funkciu Walk na prechádzanie stromom adresárov
err := cesta k súboru. Chôdza (koreň, func(cesta reťazec, info os. FileInfo, chyba chyba)chyba {
ak chyba!= nula {
vrátiť chybovať
}

// Vytlačí názov každého súboru alebo adresára
fmt. Println (cesta)
vrátiťnula
})

// Kontroluje chyby
ak chyba!= nula {
fmt. Printf("Chyba pri prechádzaní stromového adresára: %v\n", chyba)
}
}

Tento program definuje koreňový adresár ako aktuálny pracovný adresár. The Hlavná funkcia prechádza cez adresáre v koreňovom adresári a vypisuje názvy súborov.

Priraďovanie súborov s priraďovaním vzorov

Môžete použiť Zápas funkcia na porovnávanie názvov súborov so vzorom. Syntax vzoru je založená na spoločnom syntax zástupných znakov súboru, ktorá používa metaznaky, známe ako glob vzory v prostrediach Unixu.

balík Hlavná

importovať (
"fmt"
"cesta/cesta k súboru"
)

funcHlavná() {
// Definuje vzor, ​​ktorý sa má zhodovať
vzor := "*.TXT"

// Používa funkciu Match na porovnanie vzoru v súboroch
zhoda, chyba := cesta k súboru. Zhoda (vzor, "subor.txt")

ak chyba!= nula {
fmt. Printf("Chyba pri priraďovaní vzoru: %v\n", chyba)
vrátiť
}

// Vytlačí výsledok zápasu
ak zápas {
fmt. Println("Súbor sa zhoduje so vzorom.")
} inak {
fmt. Println("Súbor nezodpovedá vzoru.")
}
}

The Hlavná funkcia zhoduje názov súboru s názvom *.TXT vzor a vytlačí reťazec v závislosti od výsledku podmienečné vyhlásenie.

Čistenie ciest s funkciou Clean

The Čistý funkcia prevezme cestu k súboru a vráti vyčistenú verziu cesty odstránením nepotrebných oddeľovačov a zmien adresárov, ako napr . (aktuálny adresár) a .. (nadradený adresár) segmenty.

Čistenie ciest k súborom je užitočné, pretože pomáha predchádzať chybám, ak cesta obsahuje nadbytočné oddeľovače alebo neplatné segmenty, alebo vytvára cesty nezávisle od aktuálneho pracovného adresára.

balík Hlavná

importovať (
"fmt"
"cesta/cesta k súboru"
)

funcHlavná() {
// Vytvorí cestu s nadbytočnými oddeľovačmi a neplatnými segmentmi
cesta := "/foo/bar//baz/.././qux/"

// Vyčistí cestu
cleanPath := cesta k súboru. Čistá (cesta)

// Vytlačí pôvodné a vyčistené cesty k súboru
fmt. Println("Pôvodná cesta:", cesta)
fmt. Println("Vyčistená cesta:", cleanPath)
}

The cesta premenná je počiatočná cesta k súboru a Čistý funkcia čistí cesta premennej a vráti vyčistenú cestu k súboru. The Hlavná funkcia vytlačí počiatočné a čisté cesty k súboru.

Spojenie a rozdelenie ciest k súborom v aplikácii Go

The Pripojte sa a Rozdeliť funkcie poskytujú funkcie na spájanie a rozdeľovanie ciest k súborom.

Funkcia Join zaberá ľubovoľný počet prvkov cesty. Vráti jeden reťazec cesty k súboru, ktorý je výsledkom zreťazenia týchto prvkov pomocou vhodného oddeľovača cesty pre operačný systém. The Pripojte sa funkcia je užitočná na vytváranie ciest k súborom nezávisle od základného súborového systému.

balík Hlavná

importovať (
"fmt"
"cesta/cesta k súboru"
)

funcHlavná() {
// Definuje štyri cesty k súborom pre operáciu spojenia
cesta1 := "priečinok1"
cesta2 := "priečinok2"
cesta 3 := "podpriečinok1"
cesta 4 := "example.txt"

// Spája štyri cesty k súborom do jednej cesty
joinPath := cesta k súboru. Pripojiť sa (cesta1, cesta2, cesta3, cesta4)

// Vytlačí jednotnú cestu k súboru
fmt. Println("Pripojená cesta:", joinPath)
}

The cesta1, cesta2, a cesta3 premenné sú názvy priečinkov a cesta4 premenná je názov súboru. The Pripojte sa funkcia prevezme názvy premenných cesty a vráti zreťazenú cestu k súboru. The Hlavná funkcia vytlačí zreťazenú cestu k súboru do konzoly s fmt balík.

The Rozdeliť funkcia prevezme reťazec cesty a vráti komponenty adresára cesty a názvu súboru. The Rozdeliť funkcia je užitočná na extrakciu názvov súborov alebo určenie nadradeného adresára súboru.

balík Hlavná

importovať (
"fmt"
"cesta/cesta k súboru"
)

funcHlavná() {
// Nastaví cestu k súboru pre operáciu rozdelenia
cesta k súboru := "/home/user/documents/example.txt"

// Na rozdelenie cesty k súboru použite funkciu Split
// do jeho adresárových a súborových komponentov
dir, súbor := cesta k súboru. Rozdeliť (filePath)

// Vytlačí zložky adresára a súboru
fmt. Println("Adresár:", dir)
fmt. Println("Súbor:", súbor)
}

The cesta k súboru premenná je pôvodná cesta k súboru a Rozdeliť funkcia zaberá cesta k súboru premennej a vráti názvy adresárov a súborov ako reťazce. The Hlavná funkcia vytlačí názvy adresárov a súborov do konzoly.

S Go môžete manipulovať s textovými súbormi

Okrem funkčnosti systému súborov Go poskytuje balíčky, ktoré vám pomôžu pracovať s viacerými typmi súborov vrátane textových súborov.

Môžete použiť bufio balíčkov do vyrovnávacej pamäte vstupných a výstupných operácií s textovými súbormi a os balík na vytváranie súborov, okrem iných operácií.