author Ihsan Arif | 2 minutes

Mengenal Library Input Output Pada Golang

Sebelum mempelajari libary IO Golang, banyak sekali fungsi terdapat dalam library IO tetapi yang paling utama ada 2 interface fungsi yaitu Reader dan Writer. Reader biasanya digunakan untuk membaca data dari suatu file atau beberapa input/output yang disediakan. Sedangkan Writer adalah fungsi yang nantinya akan menulis data ke suatu file atau input/output yang disediakan oleh sistem kita.

Interface Reader

Interface Reader ini banyak sekali tipe implementer fungsinya tetapi yang akan kita coba adalah reader yg diambil dari file. Kita bisa lihat contoh kodenya dibawah ini.

package main

import (
	"fmt"
	"io/ioutil"
	"log"
	"os"
)

func main() {
	f, err := os.Open("file.txt")
	if err != nil {
		log.Fatal("program broke")
	}
	defer f.Close()

	bs, err := ioutil.ReadAll(f)
	if err != nil {
		log.Fatal("program read broke")
	}

	fmt.Println(bs)
	fmt.Println(string(bs))
}

Dan isi dari file file.txt sebagai berikut

Hello World

Setelah kita coba lihat code diatas, kebayang ada os.Open adalah fungsi yang digunakan untuk membuka dan mencari file sehingga nanti data tersebut akan kita baca dengan menggunakan fungsi ioutil.ReadAll(f).

Jika kita lihat code diatas, pengembalian dari fungsi ioutil.ReadAll ini ditangkap oleh variable bs yang mana kita akan cetak dan menampilkan isinya. Secara default variable bs ini tipe datanya byte sehingga kita perlu menambahkan fungsi string(bs) agar bisa terbaca.

Interface Writer

Interface Writer digunakan untuk kita bisa menulis ke dalam satu file atau beberapa file sekaligus. Kita akan coba lihat code dibawah ini contoh dasar penggunaan interface Writer

package main

import (
	"log"
	"os"
)

func main() {
	dst, err := os.Create("create.txt")
	if err != nil {
		log.Fatal("program broke")
	}
	defer dst.Close()

	bs := []byte("hello world, Santekno")

	_, err = dst.Write(bs)
	if err != nil {
		log.Fatal("program broke")
	}
}

Jika kita jalankan program diatas ini maka akan terbuat file create.txt dengan isi dari file tersebut berupa string hello world, Santekno. Program ini sederhana dimana kita bisa tahu file yang di create dengan nama apa dan isi dari file tersebut bisa kita kontrol apa saja.

comments powered by Disqus