Goroutine eşzamanlı işlemler yapmanın kolay yoludur.
Bir koroutin, örneğin engelleyen bir sistem çağrısı çağırarak engellendiğinde, çalışma zamanı, aynı işletim sistemi iş parçacığı üzerindeki diğer eş dizileri otomatik olarak farklı, çalıştırılabilir bir iş parçacığına taşır, böylece engellenmezler. Programcı bunların hiçbirini görmez, önemli olan budur. Goroutine’ler dediğimiz sonuç çok ucuz olabilir: sadece birkaç kilobayt olan yığın hafızasının ötesinde çok az ek yüke sahiptirler.
Yığınları küçültmek için Go’nun çalışma zamanı yeniden boyutlandırılabilir. Yeni basılmış bir goroutine’e birkaç kilobayt verilir ve bu neredeyse her zaman yeterlidir. Değilse, çalışma zamanı yığını otomatik olarak depolamak için belleği büyütür (ve ya küçültür), böylece birçok gorutine’in oldukça az gereken miktarda bellekte yaşamasına izin verir. CPU ek yükü, işlev çağrısı başına yaklaşık üç ucuz talimatın ortalamasını alır. Aynı adres alanında yüz binlerce goroutine oluşturmak pratiktir. Gorutine’ler sadece iş parçacıkları olsaydı, sistem kaynakları çok daha az sayıda tükenirdi.