Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Darbs ar failiem un direktorijiem ir būtisks uzdevums lietojumprogrammām, kurām nepieciešams uzglabāt un izgūt datus. Go nodrošina faila ceļa pakotni no platformas neatkarīgām failu ceļu darbībām. Paketē ir iekļautas funkcijas, lai manipulētu ar failu ceļiem, un tā ir saderīga ar Windows, Linux un macOS.

Funkcijas, kuras ietver faila ceļš, var savienot, sadalīt un notīrīt failu ceļus, lai nodrošinātu to derīgumu. Paketē ir arī funkcijas direktoriju staigāšanai un failu meklēšanai.

Pastaigas direktoriju koki

The Staigāt funkcija faila ceļš pakotne nodrošina funkcionalitāti, lai pārvietotos pa direktoriju koku un pārvietotos pa failiem un direktorijiem iepriekšējas pasūtīšanas veidā. Tas rekursīvi apmeklēs visus direktorijus zem dotās saknes. Funkcija Walk uzņem saknes direktoriju un funkciju, kas aizņem ceļu, faila informācijas gadījumu un kļūdas gadījumu.

iepakojums galvenais

imports (
"fmt"
"ceļš/failu ceļš"
"os"
)

funcgalvenais() {
// Definē saknes direktoriju, lai sāktu gājienu
sakne := "."

// Izmanto funkciju Walk, lai staigātu pa direktoriju koku
err := faila ceļš. Staigā (sakne, func(ceļš virkne, info os. FileInfo, kļūdas kļūda)kļūda {
ja kļūda! = nulle {
atgriezties kļūda
}

// Drukā katra faila vai direktorija nosaukumu
fmt. Println (ceļš)
atgrieztiesnulle
})

// Pārbauda kļūdas
ja kļūda! = nulle {
fmt. Printf("Kļūda, ejot direktoriju kokā: %v\n", kļūda)
}
}

Šī programma saknes direktoriju definē kā pašreizējo darba direktoriju. The galvenais funkcija šķērso saknes direktoriju direktorijus un izdrukā failu nosaukumus.

Failu saskaņošana ar modeļu saskaņošanu

Jūs varat izmantot Match funkcija, lai saskaņotu failu nosaukumus ar modeli. Modeļa sintakse ir balstīta uz kopējo faila aizstājējzīmju sintakse, kas izmanto metarakstzīmes, kas pazīstami kā glob modeļi Unix vidēs.

iepakojums galvenais

imports (
"fmt"
"ceļš/failu ceļš"
)

funcgalvenais() {
// Definē modeli, lai tas atbilstu
modelis := "*.txt"

// Izmanto Match funkciju, lai saskaņotu failu modeli
atbilst, err := faila ceļš. Match (raksts, "fails.txt")

ja kļūda! = nulle {
fmt. Printf("Kļūda, saskaņojot modeli: %v\n", kļūda)
atgriezties
}

// Izdrukā spēles rezultātu
ja atbilst {
fmt. Println("Fails atbilst modelim.")
} cits {
fmt. Println("Fails neatbilst modelim.")
}
}

The galvenais funkcija sakrīt ar faila nosaukumu un *.txt rakstu un izdrukā virkni atkarībā no rezultāta nosacījuma paziņojums.

Ceļu tīrīšana ar tīrīšanas funkciju

The Tīrs funkcija aizņem faila ceļu un atgriež notīrītu ceļa versiju, noņemot nevajadzīgos atdalītājus un direktoriju izmaiņas, piemēram, . (pašreizējais direktorijs) un .. (vecākdirektorija) segmenti.

Failu ceļu tīrīšana ir noderīga, jo tā palīdz izvairīties no kļūdām, ja ceļā ir lieki atdalītāji vai nederīgi segmenti vai ceļi tiek veidoti neatkarīgi no pašreizējā darba direktorija.

iepakojums galvenais

imports (
"fmt"
"ceļš/failu ceļš"
)

funcgalvenais() {
// Izveido ceļu ar liekiem atdalītājiem un nederīgiem segmentiem
ceļš := "/foo/bar//baz/.././qux/"

// Notīra ceļu
cleanPath := faila ceļš. Tīrs (ceļš)

// Drukā oriģinālo un notīrīto failu ceļus
fmt. Println("Sākotnējais ceļš:", ceļš)
fmt. Println("Notīrīts ceļš:", cleanPath)
}

The ceļš mainīgais ir sākotnējais faila ceļš un Tīrs funkcija attīra ceļš mainīgo un atgriež notīrītā faila ceļu. The galvenais funkcija izdrukā sākotnējos un tīros faila ceļus.

Failu ceļu savienošana un sadalīšana programmā Go

The Pievienojieties un Sadalīt funkcijas nodrošina funkcionalitāti failu ceļu savienošanai un sadalīšanai.

Funkcija Join uzņem neierobežotu skaitu ceļa elementu. Tas atgriež vienu faila ceļa virkni, kas rodas, savienojot šos elementus, izmantojot operētājsistēmai atbilstošo ceļa atdalītāju. The Pievienojieties funkcija ir noderīga, lai izveidotu failu ceļus neatkarīgi no pamatā esošās failu sistēmas.

iepakojums galvenais

imports (
"fmt"
"ceļš/failu ceļš"
)

funcgalvenais() {
// Definē četrus failu ceļus savienošanas darbībai
ceļš1 := "mape1"
ceļš2 := "mape2"
ceļš3 := "apakšmape1"
ceļš4 := "example.txt"

// Savieno četrus faila ceļus vienā ceļā
joinedPath := faila ceļš. Pievienoties (ceļš1, ceļš2, ceļš3, ceļš4)

// Drukājiet vienotā faila ceļu
fmt. Println("Pievienotais ceļš:", joinedPath)
}

The ceļš1, ceļš2, un ceļš3 mainīgie ir mapju nosaukumi un ceļš4 mainīgais ir faila nosaukums. The Pievienojieties funkcija uzņem ceļa mainīgo nosaukumus un atgriež sasaistīto faila ceļu. The galvenais funkcija izdrukā savienotā faila ceļu uz konsoli ar fmt iepakojums.

The Sadalīt funkcija uzņem ceļa virkni un atgriež ceļa direktoriju un faila nosaukuma komponentus. The Sadalīt funkcija ir noderīga failu nosaukumu izvilkšanai vai faila vecākdirektorija noteikšanai.

iepakojums galvenais

imports (
"fmt"
"ceļš/failu ceļš"
)

funcgalvenais() {
// Iestata faila ceļu sadalīšanas darbībai
faila ceļš := "/home/user/documents/example.txt"

// Izmantojiet funkciju Split, lai sadalītu faila ceļu
// savā direktorijā un faila komponentos
dir, fails := faila ceļš. Sadalīt (filePath)

// Izdrukājiet direktoriju un faila komponentus
fmt. Println("Kataloga:", rež)
fmt. Println("Fails:", fails)
}

The faila ceļš mainīgais ir sākotnējā faila ceļš un Sadalīt funkcija uzņem faila ceļš mainīgo un atgriež direktoriju un failu nosaukumus kā virknes. The galvenais funkcija izdrukā direktoriju un failu nosaukumus konsolē.

Varat manipulēt ar teksta failiem, izmantojot Go

Papildus failu sistēmas funkcionalitātei Go nodrošina pakotnes, kas palīdz strādāt ar vairākiem failu tipiem, tostarp teksta failiem.

Jūs varat izmantot bufio pakotni uz buferizētām ievades un izvades darbībām teksta failos un os pakotne failu izveidei, cita starpā.