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
The Psychology of Money Edisi Revisi

The Psychology of Money Edisi Revisi

Seorang genius yang kehilangan kendali atas emosinya bisa mengalami bencana keuangan. Sebaliknya, orang biasa tanpa pendidikan finansial bisa kaya jika mereka punya sejumlah keahlian terkait perilaku yang tak berhubungan dengan ukuran kecerdasan formal.

Buy

6) Reflect


Reflection adalah teknik untuk inspeksi variabel, mengambil informasi dari variabel tersebut atau bahkan memanipulasinya.

Cakupan informasi yang bisa didapatkan lewat reflection sangat luas, seperti melihat struktur variabel, tipe, nilai pointer, dan banyak lagi.

Go menyediakan package reflect, berisikan banyak sekali fungsi untuk keperluan reflection. Di sini ini, kita akan belajar tentang dasar penggunaan package tersebut.

Dari banyak fungsi yang tersedia di dalam package tersebut, ada 2 fungsi yang paling penting untuk diketahui, yaitu reflect.ValueOf() dan reflect.TypeOf().


  • Fungsi reflect.ValueOf() akan mengembalikan objek dalam tipe reflect.Value, yang berisikan informasi yang berhubungan dengan nilai pada variabel yang dicari

  • Sedangkan reflect.TypeOf() mengembalikan objek dalam tipe reflect.Type. Objek tersebut berisikan informasi yang berhubungan dengan tipe data variabel yang dicari


7) Closure


Definisi Closure adalah sebuah fungsi yang bisa disimpan dalam variabel.

Dengan menerapkan konsep tersebut, kita bisa membuat fungsi didalam fungsi, atau bahkan membuat fungsi yang mengembalikan fungsi.

Closure merupakan anonymous function atau fungsi tanpa nama. Biasa dimanfaatkan untuk membungkus suatu proses yang hanya dipakai sekali atau dipakai pada blok tertentu saja.

8) Goroutine


Goroutine mirip dengan thread thread, tapi sebenarnya bukan. Sebuah native thread bisa berisikan sangat banyak goroutine.

Mungkin lebih pas kalau goroutine disebut sebagai mini thread. Goroutine sangat ringan, hanya dibutuhkan sekitar 2kB memori saja untuk satu buah goroutine.

Eksekusi goroutine bersifat asynchronous, menjadikannya tidak saling tunggu dengan goroutine lain.

Goroutine merupakan salah satu bagian paling penting dalam concurrent programming di Go. Salah satu yang membuat goroutine sangat istimewa adalah eksekusi-nya dijalankan di multi core processor.

Kita bisa tentukan berapa banyak core yang aktif, makin banyak akan makin cepat.

9) Channel


Channel digunakan untuk menghubungkan goroutine satu dengan goroutine lain. Mekanisme yang dilakukan adalah serah-terima data lewat channel tersebut.

Dalam komunikasinya, sebuah channel difungsikan sebagai pengirim di sebuah goroutine, dan juga sebagai penerima di goroutine lainnya.

Pengiriman dan penerimaan data pada channel bersifat blocking atau synchronous.