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.
DIENAS VIDEO MAKEUSEOF
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.
package main
import (
"fmt"
"path/filepath"
"os"
)
func main() {
// Defines the root directory to start the walk
root := "."
// Uses the Walk function to walk the directory tree
err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
// Prints the name of each file or directory
fmt.Println(path)
return nil
})
// Checks for errors
if err != nil {
fmt.Printf("Error walking directory tree: %v\n", err)
}
}
Šī 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.
kā uzņemt ekrānuzņēmumu snapchat, viņiem nezinot 2021
package main
import (
"fmt"
"path/filepath"
)
func main() {
// Defines the pattern to match
pattern := "*.txt"
// Uses the Match function to match the pattern on files
match, err := filepath.Match(pattern, "file.txt")
if err != nil {
fmt.Printf("Error matching pattern: %v\n", err)
return
}
// Prints the result of the match
if match {
fmt.Println("File matches pattern.")
} else {
fmt.Println("File does not match pattern.")
}
}
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.
package main
import (
"fmt"
"path/filepath"
)
func main() {
// Creates a path with redundant separators and invalid segments
path := "/foo/bar//baz/.././qux/"
// Cleans the path
cleanPath := filepath.Clean(path)
// Prints the original and cleaned file paths
fmt.Println("Original path:", path)
fmt.Println("Cleaned path:", 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.
kļūt par suņu treneri tiešsaistē bez maksas
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.
package main
import (
"fmt"
"path/filepath"
)
func main() {
// Defines four file paths for the join operation
path1 := "folder1"
path2 := "folder2"
path3 := "subfolder1"
path4 := "example.txt"
// Joins the four file paths together into a single path
joinedPath := filepath.Join(path1, path2, path3, path4)
// Print the unified file path
fmt.Println("Joined Path:", 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.
bezmaksas filmas, neveidojot kontu
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.
package main
import (
"fmt"
"path/filepath"
)
func main() {
// Sets the file path for the split operation
filePath := "/home/user/documents/example.txt"
// Use the Split function to split the file path
// into its directory and file components
dir, file := filepath.Split(filePath)
// Print the directory and file components
fmt.Println("Directory:", dir)
fmt.Println("File:", file)
}
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 tu pakotne failu izveidei, cita starpā.