Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon apa sajakah operasi I/O tingkat lanjut di Go


apa sajakah operasi I/O tingkat lanjut di Go


Operasi I/O tingkat lanjut di Go meliputi:

1. Buffer I/O dengan Paket `bufio`:

- Buffered Readers: Gunakan `bufio.NewReader` untuk membuat pembaca buffered yang dapat menangani data dalam jumlah besar secara efisien.
- Buffered Writers: Gunakan `bufio.NewWriter` untuk membuat penulis buffered yang dapat menangani data dalam jumlah besar secara efisien.

2. Pembaca Tee:

- TeeReader: Gunakan `io.TeeReader` untuk membagi data masukan menjadi dua aliran. Ini berguna ketika Anda perlu memproses data dengan dua cara berbeda.

3. Data Perpipaan:

- Pipe: Gunakan `io.Pipe` untuk membuat pipa dalam memori sinkron yang dapat digunakan untuk menghubungkan kode yang mengharapkan `io.Reader` dengan kode yang mengharapkan `io.Writer`.

4. Membaca dan Menulis File:

- Membaca dari File: Gunakan `os.Open` untuk membuka file dalam mode baca-saja, lalu gunakan `bufio.NewReader` untuk membuat pembaca.
- Menulis ke File: Gunakan `os.Create` atau `os.OpenFile` untuk membuat atau membuka file dalam mode tulis lalu gunakan `bufio.NewWriter` untuk membuat penulis.

5. Menangani Konkurensi:

- Penanganan File yang Aman: Gunakan `defer` untuk memastikan bahwa pegangan file ditutup dengan benar untuk menghindari kebocoran sumber daya.

6. Menggunakan `io.Copy`:

- Menyalin Data: Gunakan `io.Copy` untuk menyalin data dari satu pembaca ke penulis lain.

7. Menggunakan `io.CopyN`:

- Menyalin Data dengan Batas: Gunakan `io.CopyN` untuk menyalin data dalam jumlah terbatas dari satu pembaca ke penulis lain.

8. Menggunakan `io.ReadAtLeast`:

- Membaca Setidaknya dalam Jumlah Tertentu: Gunakan `io.ReadAtLeast` untuk membaca setidaknya sejumlah data tertentu dari pembaca.

9. Menggunakan `io.ReadFull`:

- Membaca Jumlah Penuh: Gunakan `io.ReadFull` untuk membaca seluruh jumlah data dari pembaca.

10. Menggunakan `io.WriteString`:

- Menulis String: Gunakan `io.WriteString` untuk menulis string ke penulis.

11. Menggunakan `io.WriteString` dengan Buffer:

- Menulis String dengan Buffer: Gunakan `io.WriteString` dengan buffer untuk menulis string ke penulis secara efisien.

12. Menggunakan `io.MultiReader`:

- Membaca dari Berbagai Sumber: Gunakan `io.MultiReader` untuk membaca dari berbagai sumber.

13. Menggunakan `io.MultiWriter`:

- Menulis ke Beberapa Tujuan: Gunakan `io.MultiWriter` untuk menulis ke beberapa tujuan.

14. Menggunakan `io.PipeLine`:

- Membuat Pipeline: Gunakan `io.PipeLine` untuk membuat pipeline pembaca dan penulis.

15. Menggunakan `io.ReadFull` dengan Buffer:

- Membaca Jumlah Penuh dengan Buffer: Gunakan `io.ReadFull` dengan buffer untuk membaca seluruh jumlah data dari pembaca secara efisien.

Operasi I/O tingkat lanjut di Go ini memberikan lebih banyak fleksibilitas dan kontrol atas cara data dibaca dan ditulis, membuatnya lebih mudah untuk menangani tugas-tugas I/O yang kompleks secara efisien.

Kutipan:
[1] https://www.developer.com/linguals/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