Apa Sih Hebatnya Golang?

testimonial-photo
By. Rinaldi Ari Prabowo 07 Feb 2024
64

Berawal dari engineer Google yang merancang Go saat menunggu program-program lain untuk dikompilasi. Munculnya rasa frustasi terhadap sejumlah perangkat yang tidak kompatibel mendorong beberapa engineer untuk memikirkan sebuah sistem pemrograman baru yang lebih efektif, melahirkan Golang yang populer dengan kemudahan penggunaannya saat ini.

Menjalankan Go pada perangkat keras, termasuk di dalam kontainer atau mesin virtual, bisa menjadi pengalaman yang menyenangkan bagi engineer. Go dirancang untuk dapat digunakan di beberapa core CPU sekaligus. Selain itu, kemampuan multithreading-nya, terutama goroutine-nya, adalah fungsi tambahan yang menarik dan berguna bagi Anda.

Dibangun untuk Konkurensi 

Sebelum kita melanjutkan lebih jauh mengenai fitur Golang, mari kita bahas dari Go routine, yaitu fungsi konkuren yang berjalan saat program yang lain selesai. Melalui hal ini, Anda sangat mungkin memulai, menjalankannya, dan melanjutkan proses Go routine secara bersamaan dengan yang fitur lainnya. Sering mengalami timeout jaringan? Jangan khawatir! Goroutine juga dikenal mampu mengatasinya saat loop utama berlanjut. Selain itu, Goroutine juga bisa mendeteksi error dengan cepat dan mudah. 

Sebelum Anda penasaran, berikut tercantum contoh sederhana koding Golang:

medium_Go_routine_7db82f7a0e.PNG

Fungsi utamanya persis seperti yang ada di bahasa C++. Dalam kode ini, fungsi utama memulai goroutine -ditandai dengan kata kuni go- yang disebut hello (). Program ini berhenti sejenak, kemudian melanjutkan kembali. Apapun yang terjadi pada fungsi hello(), fungsi utama koding tersebut tidak akan diutamakan. Yang terpenting setiap pekerjaan koding tersebut selesai.

Program akan selesai saat routing utama selesai dibangun dan melakukan perintah PrintIn. Fungsi hello() bisa menjadi apapun seperti panggilan data, transaksi, entri antrian dan akan berjalan beriringan dengan program yang lain. Bak tanaman yang merambat seperti dikatakan sebelumnya, misalkan goroutine diibaratkan sebagai bunga - bunga kecil yang bercabang dan kemudian mati, Sementara tanaman utamanya terus bertumbuh. 

Ingin melihat Golang beraksi? Periksa potongan kode ini di Go Playground, dan kita akan melihat bagaimana goroutine akan bekerja.

medium_Golang_Go_Playround_4912c3aebb.PNG


Fitur andalan ini sangat sepadan dengan harganya. Berguna untuk aplikasi web, fitur goroutines memungkinkan Anda menjalankan pekerjaan konkuren sambil menghindari error yang muncul. Misalnya, jika sedang menunggu masukan data, goroutine dapat digunakan untuk memberikan teks yang telah dipre-populasi, bahkan saat pengguna mengetik. Dengan kata lain, program akan terus berjalan meskipun proses konkuren memakan waktu lebih lama dari yang diharapkan. 

"Goroutines bisa dimultiplex ke dalam thread OS yang lebih sedikit" tulis Naveen Ramanathan di GoLangBot, sumber belajar Go. "Mungkin hanya ada satu thread dalam program dengan ribuan Goroutines. Jika salah satu Goroutine dalam thread tersebut terblokir, misalnya, menunggu masukan pengguna, maka thread OS baru akan dibuat dan Goroutine yang tersisa dipindahkan ke thread OS baru. Semua ini diatur oleh runtime, dan kita sebagai programmer diabstraksikan dari detail-detail rumit ini dan diberikan API yang bersih untuk bekerja dengan konkurensi."

Menarik bukan? Belajar Golang saat ini bisa dilakukan darimana saja dan kapan saja. Kamu hanya cukup mengikuti Online Bootcamp di Enigma Camp. Dengan bantuan traineer yang akan menemani selama proses belajar pada rentang waktu tiga bulan. Online bootcamp Enigma Camp menawarkan garansi penempatan kerja saat lulus dari program bootcamp online. Dengan sukses rate penempatan hingga lebih dari 95 % Online Bootcamp Enigma Camp mampu menempatkan lulusannya di lebih dari 100 hiring partner. 

Segera daftarkan diri kamu di Online Bootcamp Enigma Camp melalu link bit.ly/RegisterEnigmaCamp