Kā mijiedarboties ar failiem un direktorijiem programmā Go

Kā mijiedarboties ar failiem un direktorijiem programmā Go
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.





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.

  rezultāts no Walking Directory Trees

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.





  Tīrīšanas ceļu ar tīrīšanas funkciju rezultāts

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ā.