Kā programmēšanas valodai Go ir plašs iebūvēto funkciju klāsts, tostarp iespēja izveidot, lasīt un rakstīt failus, piemēram, teksta (.txt) failus.
Faili ir svarīgas mūsu ikdienas dzīves sastāvdaļas mūsdienu pasaulē. Teksta faili ir noderīgi strukturētu, cilvēkiem lasāmu datu glabāšanai, neizmantojot ārēju programmatūru vai datu bāzes.
DIENAS VIDEO MAKEUSEOF
Ja vēlaties uzzināt, kā lietotnē Go sākt manipulēt ar teksta failiem, šis raksts ir jums īstā vieta.
Bufio pakotne Go
The bufio pakotne, kas ir daļa no Go standarta bibliotēkas, tiek izmantota buferizētām ievades un izvades darbībām, tāpēc arī nosaukums. The bufio pakete balstās uz io.Lasītājs un io.Rakstnieks saskarnes, kas tiek plaši izmantotas, ieviešot lielāko daļu Go standarta pakotņu.
The bufio pakotne iet vēl vienu soli tālāk, ieviešot buferizāciju, padarot to noderīgu IO operācijām, kas saistītas ar teksta datiem.
Lai izmantotu bufio pakotni savā programmā, jums tas jāimportē kopā ar citām pakotnēm.
kā arhivēt e -pastus programmā Outlook
import (
"fmt"
"bufio"
)
Jūs droši vien dzirdējāt, kad jūs sāku ar Go ka tajā ir viss, kas jums varētu būt nepieciešams programmētājam. Tiešai saziņai ar operētājsistēmu ir pakotne ar nosaukumu tu kas nodrošina no platformas neatkarīgas funkcijas.
The tu un bufio pakotnes padara teksta failu manipulāciju neticami vienkāršu.
Lai gan lielākā daļa no tu pakotnes funkcijas ir līdzīgas Unix, tās visas izmanto kļūdu apstrādes Go stilu, kas ļauj vienkārši lasīt kļūdu ziņojumus un atkļūdošanas kodu.
Tātad, kā lietotnē Go manipulēt ar failiem, kas satur tekstu?
Kā nolasīt datus no teksta faila
Lai nolasītu datus no teksta failiem, jums jāzvana uz tu iepakojums Atvērt () funkcija, kas kā parametru pieņem nolasāmā faila nosaukumu. Vēl viena faila iegūšanas metode ir izmantot Atver failu() funkciju.
Galvenā atšķirība starp Atvērt () un Atver failu() ir to īstenošanā. Atvērt () atver failu tikai lasīšanas režīmā (ar O_RDONLY karogs), kamēr Atver failu() nodrošina lielāku elastību, pieņemot trīs parametrus, proti:
kā uzzināt, vai jūsu tālrunis ir noklausījies
- Faila nosaukums
- Faila atvēršanas režīms: derīgie faila atvēršanas režīmi ir parādīti tabulā zemāk.
Karogs Nozīme O_RDONLY Atver failu tikai lasīšanas režīmā O_WRONLY Atver failu tikai rakstīšanas režīmā O_RDWR Atver failu lasīšanas-rakstīšanas režīmā O_APPEND Rakstīšanas laikā failam pievieno datus O_CREATE Izveido jaunu failu, ja tāda nav O_EXCL Izmanto kopā ar O_CREATE, lai norādītu, ka fails ir jāizveido tikai tad, ja tas neeksistē O_SYNC Atver failu sinhronai I/O O_TRUNC Ja iespējams, saīsiniet failu, kad tas ir atvērts - Faila atļaujas: tādas pašas kā failu atļauju biti operētājsistēmā Linux izmanto, lai norādītu faila piekļuves noteikumus, piemēram, 0777, lai piešķirtu lasīšanas, rakstīšanas un izpildes atļaujas visiem lietotāju veidiem.
Tālāk redzamais kods parāda, kā nolasīt datus no teksta faila programmā Go, izmantojot os.Open() , un Skenēt () kas šajā gadījumā darbojas a Iet uz cilpu .
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)
}
}
Kad palaižat iepriekš norādīto kodu ar palaist filename.go , tas rada tālāk redzamo izvadi: