Vodič za rad s tekstualnim datotekama u Gou

Vodič za rad s tekstualnim datotekama u Gou

Kao programski jezik, Go ima širok raspon ugrađenih značajki, uključujući mogućnost stvaranja, čitanja i pisanja datoteka poput tekstualnih (.txt) datoteka.





Datoteke su važne komponente našeg svakodnevnog života u modernom svijetu. Tekstualne datoteke korisne su za pohranjivanje strukturiranih podataka čitljivih ljudima bez upotrebe vanjskog softvera ili baza podataka.





MAKEUSEOF VIDEO DANA

Ako se pitate kako možete početi manipulirati tekstualnim datotekama u Gou, ovaj je članak pravo mjesto za vas.





Bufio paket u Go

The bufio paket, koji je dio Go standardne biblioteke, koristi se za međuspremnik ulaznih i izlaznih operacija, otuda i naziv. The bufio paket se temelji na io.Čitatelj i io.Pisac sučelja, koja se intenzivno koriste u implementaciji većine Goovih standardnih paketa.

The bufio paket ide korak dalje implementacijom međuspremnika, što ga čini korisnim za IO operacije koje uključuju tekstualne podatke.



Za korištenje bufio paket u svom programu, trebali biste ga uvesti zajedno s drugim paketima.

import ( 
"fmt"
"bufio"
)

Vjerojatno ste čuli kad ste počeo s Go da dolazi sa svime što bi vam moglo zatrebati kao programeru. Za izravnu komunikaciju s vašim operativnim sustavom postoji paket tzv vas koji pruža funkcije neovisne o platformi.





gdje mogu otići ispisati nešto

The vas i bufio paketi čine manipulaciju tekstualnim datotekama nevjerojatno jednostavnim.

Iako je velika većina vas Funkcije paketa slične su Unixu, sve koriste Go stil rukovanja pogreškama, što olakšava čitanje poruka o pogrešci i debug koda.





Dakle, kako manipulirati datotekama koje sadrže tekst u Go-u?

stvari s malinom pi 2

Kako čitati podatke iz tekstualne datoteke

Za čitanje podataka iz tekstualnih datoteka morate pozvati vas paketa Otvorena() funkcija koja prihvaća naziv datoteke za čitanje kao parametar. Drugi način za dobivanje datoteke je korištenje Otvorena datoteka() funkcija.

Glavna razlika između Otvorena() i Otvorena datoteka() je u njihovoj provedbi. Otvorena() otvara datoteku u načinu rada samo za čitanje (s SAMO O_RD zastava), dok Otvorena datoteka() daje veću fleksibilnost prihvaćanjem tri parametra, naime:

  • Naziv datoteke
  • Način otvaranja datoteke: Važeći načini otvaranja datoteke prikazani su u donjoj tablici.
    Zastava Značenje
    SAMO O_RD Otvara datoteku u načinu rada samo za čitanje
    O_POGREŠNO Otvara datoteku u načinu rada samo za pisanje
    O_RDWR Otvara datoteku u načinu čitanja i pisanja
    O_DODAJ Dodaje podatke u datoteku prilikom pisanja
    O_KREIRATI Stvara novu datoteku ako nijedna ne postoji
    O_EXCL Koristi se s O_CREATE, za označavanje da se datoteka treba stvoriti samo ako ne postoji
    O_SYNC Otvara datoteku za sinkroni I/O
    O_TRUNC Skratite datoteku pri otvaranju, ako je moguće
  • Dopuštenja za datoteke: ista kao bitovi dopuštenja datoteke u Linuxu koristi se za određivanje pravila pristupa datoteci, npr. 0777 za dodjelu dopuštenja za čitanje, pisanje i izvršavanje svim vrstama korisnika.

Kôd u nastavku pokazuje kako čitati podatke iz tekstualne datoteke u Go koristeći os.Open() , i Skenirati() koji u ovom slučaju radi u a Idi na petlju .

package main 
import (
"bufio"
"fmt"
"log"
"os"
)
/**
CONTENT OF THE "testfile.txt" file.
lorem ipsum dolor sit amet
LOREM IPSUM DOLOR SIT AMET
Lorem ipsum dolor sit amet
Lorem Ipsum Dolor Sit Amet
lOREM iPSUM dOLOR sIT aMET
LoReM IpSuM DoLoR SiT AmEt
*/
func main() {
file, err := os.Open("testfile.txt")
// another method using os.OpenFile()
// file, err = os.OpenFile("testfile.txt", os.O_RDONLY, 0644)
if err != nil {
log.Fatal(err)
}
defer file.()
fmt.Println("File opened successfully. Now reading file contents line by line:")
// create scanner from the file to read text from
scanner := bufio.NewScanner(file)
// scan or read the bytes of text line by line
for scanner.Scan() {
fmt.Println(scanner.Text())
}
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
}

Kada pokrenete gornji kod s idi pokreni filename.go , proizvodi izlaz prikazan u nastavku:

  Izlaz programa za čitanje teksta iz datoteke