Izvērstās I/O darbības programmā Go ietver:
1. Buferētā I/O ar `bufio` pakotni:
- Buferizētie lasītāji: izmantojiet "bufio.NewReader", lai izveidotu buferizētu lasītāju, kas var efektīvi apstrādāt lielu datu apjomu.- Buferizētie rakstītāji: izmantojiet “bufio.NewWriter”, lai izveidotu buferizētu rakstītāju, kas var efektīvi apstrādāt lielu datu apjomu.
2. Tīņu lasītāji:
- TeeReader: izmantojiet 'io.TeeReader', lai sadalītu ievades datus divās straumēs. Tas ir noderīgi, ja dati ir jāapstrādā divos dažādos veidos.3. Cauruļvadu dati:
- Caurule: izmantojiet 'io.Pipe', lai izveidotu sinhronu atmiņas cauruli, ko var izmantot, lai savienotu kodu, kas sagaida 'io.Reader' ar kodu, kas sagaida 'io.Writer'.4. Failu lasīšana un rakstīšana:
- Lasīšana no failiem: izmantojiet opciju “os.Open”, lai atvērtu failu tikai lasīšanas režīmā, un pēc tam izmantojiet “bufio.NewReader”, lai izveidotu lasītāju.- Rakstīšana failos: izmantojiet 'os.Create' vai 'os.OpenFile', lai izveidotu vai atvērtu failu rakstīšanas režīmā, un pēc tam izmantojiet 'bufio.NewWriter', lai izveidotu rakstītāju.
5. Vienlaicīguma apstrāde:
- Droša failu apstrāde: izmantojiet opciju "atlikt", lai nodrošinātu, ka failu rokturi ir pareizi aizvērti, lai izvairītos no resursu noplūdes.6. Izmantojot `io.Copy`:
- Datu kopēšana: izmantojiet 'io.Copy', lai kopētu datus no viena lasītāja uz citu rakstītāju.7. Izmantojot `io.CopyN`:
- Datu kopēšana ar ierobežojumu: izmantojiet 'io.CopyN', lai kopētu ierobežotu datu apjomu no viena lasītāja uz citu rakstītāju.8. Izmantojot `io.ReadAtLeast`:
- Lasīt vismaz noteiktu daudzumu: izmantojiet 'io.ReadAtLeast', lai no lasītāja nolasītu vismaz noteiktu datu apjomu.9. Izmantojot `io.ReadFull`:
- Pilna apjoma nolasīšana: izmantojiet 'io.ReadFull', lai no lasītāja nolasītu visu datu apjomu.10. Izmantojot `io.WriteString`:
- Virknes rakstīšana: izmantojiet 'io.WriteString', lai rakstītu virkni rakstītājam.11. Izmantojot 'io.WriteString' ar buferi:
- Virknes rakstīšana, izmantojot buferi: izmantojiet 'io.WriteString' ar buferi, lai efektīvi ierakstītu virkni rakstītājam.12. Izmantojot `io.MultiReader`:
- Lasīšana no vairākiem avotiem: izmantojiet io.MultiReader, lai lasītu no vairākiem avotiem.13. Izmantojot `io.MultiWriter`:
- Rakstīšana vairākiem galamērķiem: izmantojiet 'io.MultiWriter', lai rakstītu uz vairākiem galamērķiem.14. Izmantojot `io.PipeLine`:
- Cauruļvada izveide: izmantojiet 'io.PipeLine', lai izveidotu lasītāju un rakstītāju konveijeru.15. Funkcijas "io.ReadFull" izmantošana ar buferi:
- Pilna apjoma nolasīšana, izmantojot buferi: izmantojiet 'io.ReadFull' ar buferi, lai efektīvi nolasītu visu datu apjomu no lasītāja.Šīs uzlabotās I/O darbības programmā Go nodrošina lielāku elastību un kontroli pār to, kā dati tiek nolasīti un rakstīti, atvieglojot sarežģītu I/O uzdevumu efektīvu apstrādi.
Citāts:[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