Du må lese eller skrive filer i programmene dine nesten hele tiden. Dette er et grunnleggende krav som enhver programmerer skal ha under beltene. Denne artikkelen vil dekke hvordan du åpner og leser filer i Go ved å bruke OS -pakken.
Golang OS -pakke
For å lese og skrive filer i Go, må vi importere OS -pakken. Du kan importere det ved hjelp av importnøkkelordet som vist nedenfor:
importere "OS"Når du er importert, kan du utføre filoperasjoner uten feil.
OS.Åpen()
Før vi bruker Open () -metoden for å åpne og lese filen, la oss forberede miljøet vårt. Opprett en fungerende katalog:
mkdir read_fileNaviger inn i katalogen og opprett en tekstfil:
cd read_fileNår vi har en tekstfil å lese, åpner du den med din favoritt tekstredigerer og legger til litt innhold:
$ vim hei.tekstLukk og lagre filen.
For å åpne og lese filen i Go, opprette en GO -fil og skriv inn koden:
Fil, feil: = OS.Åpne ("Hei.tekst")Når vi har åpnet filen, kan vi lese dataene til filen i en skive av byte. Vi kan gjøre dette ved hjelp av lesemetoden, som tar byte -størrelsen som argument. Et eksempel er som vist:
file_data: = make ([] byte, 50)I dette avsnittet bruker vi Create a Shice of Bytes. Vi bruker deretter lest () -metoden for å lese dataene til filen.
Vi sjekker for feil og bestemmer deretter antall byte vi leser fra filen. Ved hjelp av printf -metoden skriver vi ut innholdet i filen.
Den resulterende utgangen:
Les 29 byte: “Hei fra hei.txt -fil”
Som du ser, leser vi nøyaktig 29 byte fra filen.
Hvis vi prøver å åpne en fil som ikke eksisterer, returnerer funksjonen en feil som vist:
Fil, feil: = OS.Åpne ("Info.tekst")Feilutgang:
Åpen informasjon.TXT: Systemet finner ikke den spesifiserte filen.OS.Åpen fil()
OpenFile () -metoden lar deg åpne en fil med det spesifiserte flagget. Slike flagg inkluderer:
Du kan spesifisere et hvilket som helst flagg når du åpner en fil basert på dine krav.
Hvis du kaller OpenFile () -metoden med O_Create -flagget, hvis filen ikke eksisterer, opprettes den med modusstillatelse før Umask.
Eksempel:
Fil, feil: = OS.OpenFile ("Ny.TXT ", OS.O_RDWR | OS.O_create, 0777)I eksemplet over bruker vi OpenFile () -metoden for å åpne en fil i lese-/skrivemodus som spesifisert av OS.Rdwr () flagg. Vi spesifiserer også OS.O_create flagg for å opprette filen hvis den ikke eksisterer.
Legg merke til at vi også spesifiserer tillatelse fra 0755.
Hvis vi kjører koden over, skal den opprette fil som heter New.tekst.
$ ls -laKonklusjon
Denne guiden lærte oss hvordan vi kan åpne og lese filer i Go ved å bruke Open and OpenFile () -metodene. Utforsk dokumentasjonen for å lære mer.
Takk for at du leste!