Goroutine adalah fitur "killer app" dari Go. Ia memungkinkan fungsi berjalan di latar belakang (asynchronous) secara bersamaan dengan fungsi lain.
Difference with Threads
Goroutine jauh lebih ringan daripada OS Thread. Anda bisa menjalankan ribuan Goroutine sekaligus dengan memori yang sangat kecil.
How to use
Cukup tambahkan kata kunci go di depan pemanggilan fungsi.
MAIN.GO
package mainimport ( "fmt" "time")func cetakAngka(label string) { for i := 1; i <= 3; i++ { time.Sleep(100 * time.Millisecond) fmt.Println(label, ":", i) }}func main() { // Jalankan di background (Thread baru) go cetakAngka("Background") // Jalankan di thread utama cetakAngka("Utama") // Kita perlu menunggu sebentar, karena jika main selesai, // semua goroutine background akan dimatikan paksa. time.Sleep(500 * time.Millisecond)}