Teiesugused lugejad aitavad MUO-d toetada. Kui teete ostu meie saidil olevate linkide abil, võime teenida sidusettevõtte komisjonitasu. Loe rohkem.

Failide ja kataloogidega töötamine on andmete salvestamist ja toomist vajavate rakenduste jaoks oluline ülesanne. Go pakub failitee paketti platvormist sõltumatute failitee toimingute jaoks. Pakett sisaldab funktsioone failiteede manipuleerimiseks ning see ühildub Windowsi, Linuxi ja macOS-iga.

Funktsioonid, mida failitee sisaldab, saavad failiteid ühendada, poolitada ja puhastada, et tagada nende kehtivus. Paketis on ka funktsioonid kataloogides käimiseks ja failide otsimiseks.

Kõndivad kataloogipuud

The Jalutage funktsioon faili teekond pakett pakub funktsioone kataloogipuus käimiseks ning failide ja kataloogide läbimiseks ettetellimisel. See külastab rekursiivselt kõiki antud juure all olevaid katalooge. Funktsioon Walk võtab juurkataloogi ja funktsiooni, mis võtab tee, failiteabe eksemplari ja veaeksemplari.

pakett peamine

importida (
"fmt"
"tee/failitee"
"os"
)

instagram viewer

funcpeamine() {
// Määrab juurkataloogi kõndimise alustamiseks
juur := "."

// Kasutab kataloogipuu kõndimiseks funktsiooni Walk
err := failitee. Kõnni (juur, func(tee string, info os. FileInfo, viga viga)viga {
kui eks!= null {
tagasi eks
}

// Prindib iga faili või kataloogi nime
fmt. Println (tee)
tagasinull
})

// Kontrollib vigu
kui eks!= null {
fmt. Printf("Viga kataloogipuu kõndimisel: %v\n", eksitus)
}
}

See programm määratleb juurkataloogi praeguse töökataloogina. The peamine Funktsioon läbib juurkataloogis olevad kataloogid ja prindib välja failide nimed.

Failide sobitamine mustrite sobitamisega

Võite kasutada Matš funktsioon failinimede sobitamiseks mustriga. Mustri süntaks põhineb ühisel faili metamärke, mis kasutab metamärke, mida tuntakse Unixi keskkondades glob mustritena.

pakett peamine

importida (
"fmt"
"tee/failitee"
)

funcpeamine() {
// Määrab sobiva mustri
muster := "*.txt"

// Kasutab failide mustri sobitamiseks funktsiooni Match
vaste, err := failitee. Match (muster, "fail.txt")

kui eks!= null {
fmt. Printf("Viga mustri sobitamisel: %v\n", eksitus)
tagasi
}

// Prindib mängu tulemuse
kui vaste {
fmt. Println("Fail sobib mustriga.")
} muidu {
fmt. Println("Fail ei vasta mustrile.")
}
}

The peamine funktsioon sobib failinimega *.txt muster ja prindib stringi sõltuvalt tulemusest tingimuslik väide.

Teede puhastamine puhastusfunktsiooniga

The Puhas funktsioon võtab failitee sisse ja tagastab tee puhastatud versiooni, eemaldades mittevajalikud eraldajad ja kataloogimuudatused, näiteks . (praegune kataloog) ja .. (emakataloogi) segmendid.

Failiteede puhastamine on kasulik, kuna see aitab vältida vigu, kui tee sisaldab üleliigseid eraldajaid või kehtetuid segmente või loob praegusest töökataloogist sõltumatud teed.

pakett peamine

importida (
"fmt"
"tee/failitee"
)

funcpeamine() {
// Loob tee koos üleliigsete eraldajate ja kehtetute segmentidega
tee := "/foo/bar//baz/.././qux/"

// Teeb puhtaks
cleanPath := failitee. Puhas (tee)

// Prindib originaal- ja puhastatud failiteed
fmt. Println("Algne tee:", tee)
fmt. Println("Puhastatud tee:", cleanPath)
}

The tee muutuja on esialgne failitee ja Puhas funktsioon puhastab tee muutuja ja tagastab puhastatud failitee. The peamine funktsioon prindib algse ja puhta failitee.

Failiteede ühendamine ja tükeldamine rakenduses Go

The Liitu ja Lõhestatud funktsioonid pakuvad funktsioone failiteede ühendamiseks ja tükeldamiseks.

Funktsioon Join võtab sisse suvalise arvu teeelemente. See tagastab ühe failitee stringi, mis tuleneb nende elementide ühendamisest operatsioonisüsteemi jaoks sobiva tee eraldaja abil. The Liitu Funktsioon on kasulik failiteede loomiseks, mis ei sõltu aluseks olevast failisüsteemist.

pakett peamine

importida (
"fmt"
"tee/failitee"
)

funcpeamine() {
// Määrab liitumistoimingu jaoks neli failiteed
tee1 := "kaust1"
tee2 := "kaust2"
tee3 := "alamkaust1"
tee4 := "example.txt"

// Ühendab neli failiteed üheks teeks
joinedPath := failitee. Liitu (tee1, tee2, tee3, tee4)

// Prindib ühtse failitee
fmt. Println("Ühendatud tee:", liitusPath)
}

The tee1, tee2ja tee3 muutujad on kaustade nimed ja tee4 muutuja on failinimi. The Liitu funktsioon võtab sisse teemuutujate nimed ja tagastab ühendatud failitee. The peamine funktsioon prindib konsooli ühendatud failitee koos fmt pakett.

The Lõhestatud funktsioon võtab sisse tee stringi ja tagastab tee kataloogi ja failinime komponendid. The Lõhestatud Funktsioon on kasulik failinimede ekstraktimiseks või faili vanemkataloogi määramiseks.

pakett peamine

importida (
"fmt"
"tee/failitee"
)

funcpeamine() {
// Määrab jagamise toimingu failitee
failitee := "/home/user/documents/example.txt"

// Kasutage failitee tükeldamiseks funktsiooni Split
// oma kataloogi ja failikomponentidesse
dir, fail := failitee. Poolita (filePath)

// Printige kataloog ja failikomponendid
fmt. Println("Kataloog:", režissöör)
fmt. Println("Fail:", fail)
}

The faili teekond muutuja on algse faili tee ja Lõhestatud funktsioon võtab sisse faili teekond muutuja ning tagastab kataloogi- ja failinimed stringidena. The peamine funktsioon prindib kataloogi ja failinimed konsooli.

Go-ga saate tekstifailidega manipuleerida

Lisaks failisüsteemi funktsioonidele pakub Go pakette, mis aitavad teil töötada mitme failitüübiga, sealhulgas tekstifailidega.

Võite kasutada bufio pakett puhverdatud sisend- ja väljundtoiminguteks tekstifailides ja os pakett failide loomiseks muu hulgas.