Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon kādas ir dažas uzlabotās I/O darbības programmā Go


kādas ir dažas uzlabotās I/O darbības programmā Go


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