Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat. Citeşte mai mult.

Lucrul cu fișiere și directoare este o sarcină esențială pentru aplicațiile care trebuie să stocheze și să recupereze date. Go oferă pachetul filepath pentru operațiuni independente de platformă. Pachetul include funcții pentru a manipula căile fișierelor și este compatibil cu Windows, Linux și macOS.

Funcțiile pe care le include calea fișierului pot uni, împărți și curăța căile fișierelor pentru a se asigura că sunt valide. Pachetul are și funcții pentru a parcurge directoare și a căuta fișiere.

Arbori de director de mers

The Mers pe jos funcția de calea fișierului pachetul oferă funcționalitate pentru a parcurge un arbore de directoare și a parcurge fișiere și directoare într-o manieră de precomandă. Acesta va vizita recursiv toate directoarele de sub rădăcina dată. Funcția Walk preia un director rădăcină și o funcție care preia calea, instanța de informații despre fișier și o instanță de eroare.

instagram viewer
pachet principal

import (
"fmt"
"cale/filepath"
"os"
)

funcprincipal() {
// Definește directorul rădăcină pentru a începe plimbarea
rădăcină := "."

// Folosește funcția Walk pentru a parcurge arborele de directoare
err := calea fișierului. Merge (rădăcină, func(cale şir, info os. FileInfo, eroare eroare)eroare {
dacă greș!= zero {
întoarcere a greșit
}

// Tipărește numele fiecărui fișier sau director
fmt. Println (cale)
întoarcerezero
})

// Verifică dacă există erori
dacă greș!= zero {
fmt. Printf(„Eroare la parcurgerea arborelui director: %v\n”, greseala)
}
}

Acest program definește directorul rădăcină ca director de lucru curent. The principal funcția străbate directoarele din directorul rădăcină și tipărește numele fișierelor.

Potrivirea fișierelor cu potrivirea modelului

Puteți folosi Meci funcția de a potrivi numele fișierelor cu un model. Sintaxa modelului se bazează pe comun sintaxa wildcard a fișierului, care utilizează metacaractere, cunoscut sub numele de modele glob în mediile Unix.

pachet principal

import (
"fmt"
"cale/filepath"
)

funcprincipal() {
// Definește modelul de potrivire
model := "*.TXT"

// Folosește funcția de potrivire pentru a potrivi modelul din fișiere
potrivire, eroare := calea fișierului. Potrivire (model, „fișier.txt”)

dacă greș!= zero {
fmt. Printf(„Eroare de potrivire a modelului: %v\n”, greseala)
întoarcere
}

// Imprimă rezultatul meciului
dacă Meci {
fmt. Println(„Fișierul se potrivește cu modelul”.)
} altfel {
fmt. Println(„Fișierul nu se potrivește cu modelul”.)
}
}

The principal funcția se potrivește cu un nume de fișier cu *.TXT model și imprimă un șir în funcție de rezultatul enunțul condiționat.

Curățarea căilor cu funcția Clean

The Curat funcția preia o cale de fișier și returnează o versiune curățată a unei căi prin eliminarea separatoarelor inutile și modificări de director, cum ar fi . (directorul curent) și .. (directorul părinte) segmente.

Curățarea căilor de fișiere este utilă, deoarece ajută la evitarea erorilor dacă o cale conține separatori redundanți sau segmente nevalide sau construiește căi independente de directorul de lucru curent.

pachet principal

import (
"fmt"
"cale/filepath"
)

funcprincipal() {
// Creează o cale cu separatori redundanți și segmente nevalide
calea := „/foo/bar//baz/.././qux/”

// Curăță calea
cleanPath := calea fișierului. Curățare (cale)

// Tipărește căile fișierelor originale și curățate
fmt. Println(„Calea originală:”, cale)
fmt. Println(„Cale curățată:”, cleanPath)
}

The cale variabila este calea inițială a fișierului și Curat funcția curăță cale variabilă și returnează calea fișierului curățată. The principal funcția imprimă căile fișierelor inițiale și curate.

Unirea și împărțirea căilor de fișiere în Go

The A te alatura și Despică funcțiile oferă funcționalitate pentru unirea și împărțirea căilor de fișiere.

Funcția Join preia orice număr de elemente de cale. Returnează un singur șir de cale de fișier care rezultă din concatenarea acelor elemente folosind separatorul de cale adecvat pentru sistemul de operare. The A te alatura funcția este utilă pentru a construi căi de fișiere independente de sistemul de fișiere de bază.

pachet principal

import (
"fmt"
"cale/filepath"
)

funcprincipal() {
// Definește patru căi de fișiere pentru operația de îmbinare
calea 1 := „folder1”
calea 2 := „folder2”
calea3 := „subdosar1”
calea4 := „example.txt”

// Unește cele patru căi de fișiere într-o singură cale
joinedPath := calea fișierului. Alăturați-vă (calea 1, calea 2, calea 3, calea 4)

// Imprimă calea unificată a fișierului
fmt. Println(„Calea unită:”, joinedPath)
}

The calea 1, calea 2, și calea 3 variabilele sunt nume de foldere, iar calea4 variabila este un nume de fișier. The A te alatura funcția preia numele variabilelor de cale și returnează calea fișierului concatenat. The principal funcția imprimă calea fișierului concatenat către consolă cu fmt pachet.

The Despică funcția preia un șir de cale și returnează directorul căii și componentele numelui de fișier. The Despică funcția este utilă pentru extragerea numelor de fișiere sau pentru determinarea directorului părinte al unui fișier.

pachet principal

import (
"fmt"
"cale/filepath"
)

funcprincipal() {
// Setează calea fișierului pentru operația de împărțire
filePath := „/home/user/documents/example.txt”

// Folosiți funcția Split pentru a împărți calea fișierului
// în directorul și componentele fișierului
dir, fișier := cale fișier. Split (filePath)

// Imprimați directorul și componentele fișierului
fmt. Println("Director:", dir)
fmt. Println("Fişier:", dosar)
}

The filePath variabila este calea fișierului original și Despică funcția ia în filePath variabilă și returnează numele directorului și fișierelor ca șiruri de caractere. The principal funcția imprimă directorul și numele fișierelor pe consolă.

Puteți manipula fișiere text cu Go

Pe lângă funcționalitatea sistemului de fișiere, Go oferă pachete pentru a vă ajuta să lucrați cu mai multe tipuri de fișiere, inclusiv fișiere text.

Puteți folosi bufio pachet la operațiunile de intrare și ieșire tamponate pe fișierele text și os pachet pentru crearea de fișiere, printre alte operațiuni.