11 Hal Basic Wajib Kamu Ketahui Pada Bahasa Golang

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
11 Hal Basic Wajib Kamu Ketahui Pada Bahasa Golang

Golang saat ini di Indonesia jadi salah satu bahasa yang paling banyak digunakan untuk development software terutama di bagian microservice.

Banyak perusahaan startup yang menggunakan bahasa golang sebagai bahasa untuk membangun core sistem dari produk-produknya.

Kepopuleran golang tentunya karena dukungan komunitas yang besar dan juga struktur bahasanya yang mudah di pahami bila dibandingkan dengan bahasa pemrograman java.

Golang memberikan developer kebebasan menulis syntax yang tentunya sesuai dengan pattern bahasa Golang.

Ketika kamu baru beralih ke bahasa Go, tentunya kamu perlu memahami hal-hal dasar yang digunakan pada bahasa golang.

Biasanya developer termasuk saat migrasi ke bahasa baru langsung mengeksekui ide liar yang ada dalam benaknya tanpa memahami terlebih dahulu pattern dan struktur bahasa baru tersebut.

Hal ini boleh-boleh saja sebenarnya, namun biasanya di perjalanan kita akan menemukan banyak hal yang akhirnya bisa menyurutkan semangat untuk mengeksekusi ide liar tersebut.

Berikut ini beberapa istilah penting yang sering digunakan dalam bahasa Golang dan wajib kamu ketahui.

1 ) Pointer


Pointer adalah reference atau alamat memori. Variabel pointer berarti variabel yang berisi alamat memori suatu nilai.

Sebagai contoh sebuah variabel bertipe integer memiliki nilai 4, maka yang dimaksud pointer adalah alamat memori dimana nilai 4 disimpan, bukan nilai 4 itu sendiri.

Variabel-variabel yang memiliki reference atau alamat pointer yang sama, saling berhubungan satu sama lain dan nilainya pasti sama.

Ketika ada perubahan nilai, maka akan memberikan efek kepada variabel lain (yang referensi-nya sama) yaitu nilainya ikut berubah.

2) Struct


Go tidak memiliki class yang ada di bahasa-bahasa OOP lain. Tapi Go memiliki tipe data struktur yang disebut dengan Struct.

Struct adalah kumpulan definisi variabel (atau property) dan atau fungsi (atau method), yang dibungkus sebagai tipe data baru dengan nama tertentu.

Property dalam struct, tipe datanya bisa bervariasi. Mirip seperti map, hanya saja key-nya sudah didefinisikan di awal, dan tipe data tiap itemnya bisa berbeda.

Dari sebuah struct, kita bisa buat variabel baru, yang memiliki atribut sesuai skema struct, variabel tersebut dipanggil dengan istilah object atau object struct.

3) Method


Method adalah fungsi yang menempel pada type (bisa struct atau tipe data lainnya). Method bisa diakses lewat variabel objek.

Keunggulan method dibanding fungsi biasa adalah memiliki akses ke property struct hingga level private. Dengan menggunakan method sebuah proses bisa di-enkapsulasi dengan baik.

4) Interface


Interface adalah kumpulan definisi method yang tidak memiliki isi (hanya definisi saja), yang dibungkus dengan nama tertentu.

Interface merupakan tipe data. Nilai objek bertipe interface zero value-nya adalah nil.

Interface mulai bisa digunakan jika sudah ada isinya, yaitu objek konkret yang memiliki definisi method minimal sama dengan yang ada di interface-nya.

5) Interface Kosong


Interface kosong atau empty interface yang dinotasikan dengan interface{} merupakan tipe data yang sangat spesial.

Variabel bertipe ini bisa menampung segala jenis data, bahkan array, pointer, apapun. Tipe data dengan konsep ini biasa disebut dengan dynamic typing.