Gon edistyneitä I/O-toimintoja ovat:
1. Puskuroitu I/O bufio-paketilla:
- Puskuroidut lukijat: Käytä `bufio.NewReaderia` luodaksesi puskuroidun lukijan, joka pystyy käsittelemään suuria tietomääriä tehokkaasti.- Puskuroidut kirjoittajat: Käytä "bufio.NewWriter" -toimintoa luodaksesi puskuroidun kirjoittajan, joka pystyy käsittelemään suuria tietomääriä tehokkaasti.
2. T-lukijat:
- TeeReader: Käytä io.TeeReader-komentoa jakaaksesi syötetiedot kahdeksi virraksi. Tämä on hyödyllistä, kun haluat käsitellä tietoja kahdella eri tavalla.3. Putkitiedot:
- Pipe: Käytä "io.Pipe"-komentoa synkronisen muistin sisäisen putken luomiseen, jota voidaan käyttää yhdistämään koodia odottava "io.Reader" ja koodi, joka odottaa "io.Writer".4. Tiedostojen lukeminen ja kirjoittaminen:
- Lukeminen tiedostoista: Käytä os.Open-komentoa avataksesi tiedoston vain luku -tilassa ja käytä sitten `bufio.NewReader'-toimintoa lukijan luomiseen.- Kirjoittaminen tiedostoihin: Käytä "os.Create"- tai "os.OpenFile"-komentoa luodaksesi tai avataksesi tiedoston kirjoitustilassa ja käytä sitten "bufio.NewWriter"-komentoa luodaksesi kirjoitin.
5. Samanaikaisuuden käsittely:
- Turvallinen tiedostojen käsittely: Käytä `lykkäystä` varmistaaksesi, että tiedostokahvat on suljettu oikein resurssien vuotojen välttämiseksi.6. io.Copy-komennolla:
- Tietojen kopioiminen: Käytä io.Copy-toimintoa tietojen kopioimiseen yhdestä lukijasta toiseen kirjoittajaan.7. Io.CopyN:n käyttäminen:
- Tietojen kopioiminen rajoitetulla rajoituksella: Käytä io.CopyN-toimintoa kopioidaksesi rajoitetun määrän tietoa yhdestä lukijasta toiseen kirjoittajaan.8. Io.ReadAtLeast:
- Luetaan vähintään tietty määrä: Käytä io.ReadAtLeast-komentoa lukeaksesi ainakin tietyn määrän tietoa lukijasta.9. Io.ReadFull-funktion käyttäminen:
- Täyden määrän lukeminen: Käytä io.ReadFull-komentoa lukeaksesi koko tietomäärän lukijasta.10. Io.WriteString:n käyttäminen:
- Merkon kirjoittaminen: Käytä io.WriteString-komentoa kirjoittaaksesi merkkijonon kirjoittajalle.11. Io.WriteString-funktion käyttäminen puskurin kanssa:
- Merkinjonon kirjoittaminen puskurilla: Käytä io.WriteString-komentoa puskurin kanssa kirjoittaaksesi merkkijonon kirjoittajalle tehokkaasti.12. io.MultiReaderin käyttäminen:
- Lukeminen useista lähteistä: Käytä io.MultiReader-ohjelmaa lukeaksesi useista lähteistä.13. Io.MultiWriterin käyttäminen:
- Kirjoittaminen useisiin kohteisiin: Käytä io.MultiWriter-toimintoa kirjoittaaksesi useisiin kohteisiin.14. Io.PipeLinen käyttäminen:
- Piipelinjan luominen: Käytä io.PipeLine-komentoa luodaksesi lukijoiden ja kirjoittajien liukuhihnan.15. Io.ReadFull-funktion käyttäminen puskurin kanssa:
- Täyden määrän lukeminen puskurilla: Käytä io.ReadFull-toimintoa puskurin kanssa lukeaksesi koko tietomäärän lukijasta tehokkaasti.Nämä Go:n edistyneet I/O-toiminnot tarjoavat enemmän joustavuutta ja tiedon luku- ja kirjoitustapaa hallita, mikä helpottaa monimutkaisten I/O-tehtävien tehokasta käsittelyä.
Lainaukset:[1] https://www.developer.com/languages/input-output-golang/
[2] https://www.educative.io/courses/advanced-techniques-in-go-programming/file-i-o
[3] https://www.codingexplorations.com/blog/mastering-io-readers-writers-go
[4] https://dev.to/romulogatto/file-io-in-go-488d
[5] https://hyperskill.org/learn/step/14527