Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius. Skaityti daugiau.

Darbas su failais ir katalogais yra esminė užduotis programoms, kurioms reikia saugoti ir gauti duomenis. „Go“ teikia failų kelio paketą, skirtą nuo platformos nepriklausomoms failų kelio operacijoms. Į paketą įtrauktos funkcijos, skirtos valdyti failų kelius, ir jis suderinamas su „Windows“, „Linux“ ir „MacOS“.

Funkcijos, kurias apima failo kelias, gali sujungti, padalinti ir išvalyti failų kelius, kad įsitikintų, jog jie galioja. Paketas taip pat turi vaikščiojimo katalogais ir failų paieškos funkcijas.

Vaikščiojantys katalogų medžiai

The Vaikščioti funkcija bylos kelias Paketas suteikia galimybę vaikščioti po katalogų medį ir iš anksto užsakyti failus bei katalogus. Jis rekursyviai aplankys visus katalogus, esančius žemiau nurodytos šaknies. Funkcija Walk paima šakninį katalogą ir funkciją, kuri paima kelią, failo informacijos pavyzdį ir klaidos egzempliorių.

instagram viewer
paketą pagrindinis

importuoti (
"fmt"
"kelias / failo kelias"
"os"
)

funcpagrindinis() {
// Apibrėžia šakninį katalogą, kad būtų pradėtas ėjimas
šaknis := "."

// Naudoja funkciją Walk vaikščioti po katalogų medį
klaida := failo kelias. Vaikščioti (šaknis, func(kelias styga, info os. FileInfo, klaidos klaida)klaida {
jeigu klysta! = nulis {
grąžinti klysti
}

// Spausdina kiekvieno failo arba katalogo pavadinimą
fmt. Println (kelias)
grąžintinulis
})

// Tikrina, ar nėra klaidų
jeigu klysta! = nulis {
fmt. Printf("Klaida einant katalogų medyje: %v\n", klaida)
}
}

Ši programa apibrėžia šakninį katalogą kaip dabartinį darbo katalogą. The pagrindinis funkcija eina per šakninio katalogo katalogus ir išspausdina failų pavadinimus.

Failų suderinimas su šablonų suderinimu

Galite naudoti Rungtynės funkcija suderinti failų pavadinimus su šablonu. Šablono sintaksė yra pagrįsta bendra failo pakaitos simbolių sintaksė, kuri naudoja metasimbolius, Unix aplinkose žinomi kaip glob modeliai.

paketą pagrindinis

importuoti (
"fmt"
"kelias / failo kelias"
)

funcpagrindinis() {
// Apibrėžia atitinkantį šabloną
modelis := "*.txt"

// Naudoja funkciją Match, kad atitiktų failų šabloną
atitikti, err := failo kelias. Atitiktis (raštas, "failas.txt")

jeigu klysta! = nulis {
fmt. Printf("Klaida derinant šabloną: %v\n", klaida)
grąžinti
}

// Spausdina rungtynių rezultatą
jeigu atitikti {
fmt. Println(„Failas atitinka šabloną“.)
} Kitas {
fmt. Println(„Failas neatitinka šablono“.)
}
}

The pagrindinis funkcija atitinka failo pavadinimą su *.txt raštą ir atspausdina eilutę, priklausomai nuo rezultato sąlyginis teiginys.

Valymo takai su valymo funkcija

The Švarus funkcija paima failo kelią ir grąžina išvalytą kelio versiją pašalindama nereikalingus skyriklius ir katalogo pakeitimus, pvz. . (dabartinis katalogas) ir .. (pirminio katalogo) segmentus.

Failų kelių valymas yra naudingas, nes padeda išvengti klaidų, jei kelyje yra perteklinių skyriklių arba negaliojančių segmentų, arba kelius sudaro nepriklausomai nuo esamo darbo katalogo.

paketą pagrindinis

importuoti (
"fmt"
"kelias / failo kelias"
)

funcpagrindinis() {
// Sukuria kelią su pertekliniais skyrikliais ir netinkamais segmentais
kelias := "/foo/bar//baz/.././qux/"

// Išvalo taką
cleanPath := failo kelias. Švarus (kelias)

// Spausdina originalų ir išvalytą failų kelius
fmt. Println(„Pradinis kelias:“, kelias)
fmt. Println("Išvalytas kelias:", CleanPath)
}

The kelias kintamasis yra pradinis failo kelias ir Švarus funkcija valo kelias kintamąjį ir grąžina išvalytą failo kelią. The pagrindinis funkcija spausdina pradinius ir švarius failų kelius.

Failų kelių sujungimas ir padalijimas programoje „Go“.

The Prisijunk ir Padalinti funkcijos suteikia galimybę sujungti ir padalinti failų kelius.

Funkcija Join paima bet kokį kelio elementų skaičių. Ji grąžina vieną failo kelio eilutę, kuri atsiranda sujungus tuos elementus naudojant atitinkamą operacinės sistemos kelio skyriklį. The Prisijunk funkcija yra naudinga kuriant failų kelius nepriklausomai nuo pagrindinės failų sistemos.

paketą pagrindinis

importuoti (
"fmt"
"kelias / failo kelias"
)

funcpagrindinis() {
// Apibrėžia keturis sujungimo operacijos failų kelius
kelias1 := "aplankas1"
2 kelias := "aplankas2"
3 kelias := "poaplankis1"
4 kelias := "example.txt"

// Sujungia keturis failo kelius į vieną kelią
joinedPath := failo kelias. Prisijunkite (1 kelias, 2 kelias, 3 kelias, 4 kelias)

// Spausdinkite vieningą failo kelią
fmt. Println("Sujungtas kelias:", joinedPath)
}

The kelias1, kelias2, ir kelias3 kintamieji yra aplankų pavadinimai ir kelias4 kintamasis yra failo pavadinimas. The Prisijunk funkcija paima kelio kintamųjų pavadinimus ir grąžina susietą failo kelią. The pagrindinis funkcija atspausdina sujungto failo kelią į konsolę su fmt paketą.

The Padalinti funkcija paima kelio eilutę ir grąžina kelio katalogo ir failo pavadinimo komponentus. The Padalinti funkcija naudinga norint išgauti failų pavadinimus arba nustatyti pirminį failo katalogą.

paketą pagrindinis

importuoti (
"fmt"
"kelias / failo kelias"
)

funcpagrindinis() {
// Nustato padalijimo operacijos failo kelią
failo kelias := "/home/user/documents/example.txt"

// Norėdami padalinti failo kelią, naudokite funkciją Split
// į savo katalogą ir failo komponentus
dir, failas := failo kelias. Padalinti (filePath)

// Spausdinkite katalogo ir failo komponentus
fmt. Println("Katalogas:", rež)
fmt. Println("Failas:", failas)
}

The bylos kelias kintamasis yra pradinio failo kelias ir Padalinti funkcija perima bylos kelias kintamąjį ir grąžina katalogų bei failų pavadinimus kaip eilutes. The pagrindinis funkcija spausdina katalogų ir failų pavadinimus į konsolę.

Galite manipuliuoti tekstiniais failais naudodami „Go“.

Be failų sistemos funkcijų, „Go“ teikia paketus, padedančius dirbti su kelių tipų failais, įskaitant tekstinius failus.

Galite naudoti bufio paketą į buferines įvesties ir išvesties operacijas tekstiniuose failuose ir os paketas failams kurti, be kitų operacijų.