Interface Kosong
Pada sesi ini akan dibahas perbedaan antara Interface yang memiliki method dan Interface kosong
Last updated
Pada sesi ini akan dibahas perbedaan antara Interface yang memiliki method dan Interface kosong
Last updated
Interface kosong atau empty interface yang dinotasikan dengan interface{}
merupakan tipe data yang bisa menampung segala jenis data seperti integer, string, boolean, bahkan array dan pointer, apapun. Untuk mendefenisikan Interface kosong, kita perlu mendeklarasikan tipe datanya yaitu interface
yang ditambahkan {}
sehingga menjadi interface{}
.
Perbedaan dengan Interface sebelumnya adalah Interface kosong tidak memiliki method.
Pada kode di atas kita membuat variabel bernama random
dengan tipe data interface
. Lalu kita meng-assign beberapa nilai dengan tipe data yang berbeda-beda ke dalam variabel random
.
Kita lihat contoh tipe data map
yang memiliki key
dengan tipe data string
dan value
dengan tipe data apapun.
Kita akan melihat tipe data yang ada pada variabel dengan tipe interface
yang telah kita assign dengan beberapa nilai dari tipe data yang berbeda.
Kita bisa melihat bahwa tipe data sudah sesuai dengan nilai yang kita masukkan ke dalam variabel.
Kita akan melakukan operasi dari nilai variabel yang didefinisikan sebagai interface.
Kita lihat bahwa output program menampilkan error saat melakukan operasi penambahan dari dua variabel yaitu a
dengan tipe interface
dan b
dengan tipe int
.
Untuk dapat melakukan operasi di atas kita perlu melakukan casting atau convert ke tipe data aslinya. Ini juga biasa disebut dengan Type Assertion.
Dengan Interface kita dapat memiliki data struct
yang berisi nilai dengan tipe data apapun.