Go
Go nedir?
Go 2009’da Google’da açıldı. Kod kısa kalır, program ayrı bir dil ortamı kurmadan çalışan tek dosyaya derlenir. Çöp toplama vardır, sınıf ve kalıtım yoktur. Aynı anda çok iş için goroutine ve channel kullanılır.
Go ne için kullanılır?
Go, ağ hizmeti ve araç yazarken seçilir. Docker ve Kubernetes’in büyük kısmı Go ile yazılmıştır.
- HTTP API ve mikroservis
- Komut satırı programı
- Dosya ve ağ aracı
- Bulut ve konteyner projesi
Go ile ne yapılabilir?
Go ile hızlı web hizmeti, arka plan işi ve bir makineden diğerine aynı taşınan araç yazılır. Standart kütüphanede HTTP sunucu, JSON ve test aracı vardır. Belleği C’deki gibi elle boşaltmak gerekmez.
Go öğrenmek zor mu?
Sözdizimi küçüktür, ilk program çabuk çıkar. Zor yerler generic, yinelenen hata kontrolü ve pointer’dır. Java’daki kadar büyük çatı yoktur: çoğunu kendin yazarsın ya da küçük kütüphane seçersin.
Avantajları ve sınırları
Avantaj: tek dosyalık program, açık hata ve güçlü paralel iş. Sınır: masaüstü pencere kütüphanesi zayıftır, GUI ve mobil uygulama için ilk seçim değildir. Hata her adımda bakıldığı için satır bazen Java veya Kotlin’den uzun durur.
Temel kavramlar
Go’da temel paket, fonksiyon ve struct’tır. Hata çoğu zaman ayrı dönen değerdir, istisna zinciri değildir.
- go.mod bağımlılıkları tutar
- goroutine hafif paralel iştir
- channel işler arasında veri taşır
- gofmt kodu aynı görünüme sokar
Kısa örnek
Bu program terminale bir satır yazar. Dosya adı main.go ise komut go run main.go olur.
package main
import "fmt"
func main() {
fmt.Println("Hello")
}Sık sorulan sorular
- Go ve Golang aynı dil mi? Evet. Resmi ad Go’dur, aramada Golang da kullanılır.
- Go, Java’nın yerine mi geçer? Her yerde değil. Ağ hizmetinde sık, Android uygulamasında hayır.
- Go için önce C gerekir mi? Hayır. C belleği elle yönetir, Go yönetmez.