Nedir? Golang Nedir? Detaylı Anlatım

Herhangi konuda kısa bilgilendirme konusu

Nmtd.org

RootAdmin
Admin
Katılım
19 Şubat 2025
Mesajlar
35
Tepkime puanı
7
Konum
NMTD.org
458478a7-8c14-4ea3-ab53-ad5fc0e32c76.webp

Golang veya kısa adıyla Go, Google tarafından 2007 yılında geliştirilmeye başlanan ve 2009’da açık kaynak olarak yayınlanan, performans ve verimlilik açısından optimize edilmiş bir programlama dilidir. Go, özellikle yüksek performanslı, güvenilir ve ölçeklenebilir sistemler geliştirmek için tasarlanmıştır.




1. Go'nun Temel Özellikleri


✅ Basit ve Okunabilir Söz Dizimi


Go, C diline benzer ancak daha sade ve anlaşılır bir yapıya sahiptir. Karmaşık yapıları ortadan kaldırarak geliştiricinin daha hızlı ve verimli kod yazmasını sağlar.


✅ Yüksek Performans


Go, derlenen (compiled) bir dil olduğu için C ve C++ kadar hızlı çalışır. Derleyicisi oldukça güçlüdür ve optimize edilmiş ikili dosyalar (binary) oluşturur.


✅ Eşzamanlı Programlama (Concurrency)


Go’nun en büyük avantajlarından biri, goroutine adlı hafif iş parçacıkları (thread’ler) sayesinde yüksek performanslı paralel işlemler yapabilmesidir.


✅ Çöp Toplayıcı (Garbage Collector - GC)


Go’nun dahili çöp toplayıcısı (Garbage Collector), belleği yönetir ve yazılımın daha stabil çalışmasını sağlar.


✅ Platform Bağımsızlık


Go kodu Windows, macOS ve Linux gibi farklı işletim sistemlerinde çalıştırılabilir. Bir kez derlendiğinde herhangi bir ek bağımlılığa ihtiyaç duymaz.


✅ Statik Tip Kontrolü


Go, statik olarak türlendirilmiş bir dildir. Bu sayede derleme aşamasında tip hataları tespit edilir, bu da hata ayıklamayı kolaylaştırır.


✅ Güçlü Standart Kütüphane


Go’nun kendi içinde gelen güçlü bir standart kütüphanesi vardır. Bu kütüphane sayesinde ekstra bağımlılıklara ihtiyaç duymadan HTTP sunucuları, dosya işlemleri, JSON işleme, şifreleme, veri yapıları ve daha birçok işlemi kolayca yapabilirsiniz.




2. Go’nun Kurulumu ve İlk Program


Go'yu kullanmaya başlamak için öncelikle resmi sitesinden Go'yu indirip kurmanız gerekmektedir.


Kurulumu tamamladıktan sonra bir Go programı yazalım:

Kod:
package main  // Ana paketi tanımlıyoruz

import "fmt"  // fmt kütüphanesi, çıktı almak için kullanılır

func main() {
    fmt.Println("Merhaba, Go!")  // Ekrana yazdırma işlemi
}

Programın Çalıştırılması


Bu programı hello.go olarak kaydedip terminalde şu komutu çalıştırabilirsiniz:

Kod:
go run hello.go

Kod:
Derlenmiş bir binary dosya oluşturup çalıştırmak için:

3. Go’nun Temel Yapıları


🔹 Değişkenler ve Veri Tipleri


Go’da değişkenler var anahtar kelimesiyle tanımlanır:

Kod:
package main
import "fmt"

func main() {
    var mesaj string = "Go öğreniyorum!"
    fmt.Println(mesaj)

    // Alternatif kısa değişken tanımlama (:= operatörü)
    sayi := 42
    fmt.Println(sayi)
}

Go’daki temel veri türleri şunlardır:


  • int → Tamsayı
  • float64 → Ondalıklı sayı
  • string → Metin
  • bool → Doğru/Yanlış



🔹 Kontrol Yapıları (if-else, switch-case)

Kod:
package main
import "fmt"

func main() {
    sayi := 10

    if sayi > 5 {
        fmt.Println("Sayı 5'ten büyük")
    } else {
        fmt.Println("Sayı 5 veya daha küçük")
    }
}

Switch-case kullanımı:
Kod:
package main
import "fmt"

func main() {
    gun := "Pazartesi"

    switch gun {
    case "Pazartesi":
        fmt.Println("Hafta başı!")
    case "Cuma":
        fmt.Println("Hafta sonuna yaklaştık!")
    default:
        fmt.Println("Normal bir gün")
    }
}

🔹 Döngüler (for, range)


Go’da for döngüsü en çok kullanılan döngü yapısıdır:

Kod:
package main
import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        fmt.Println("Değer:", i)
    }
}

Diziler veya haritalar (maps) üzerinde gezinmek için range kullanılır:

Kod:
package main
import "fmt"

func main() {
    meyveler := []string{"Elma", "Armut", "Muz"}

    for i, meyve := range meyveler {
        fmt.Println(i, meyve)
    }
}

Fonksiyonlar

Kod:
package main
import "fmt"

func topla(a int, b int) int {
    return a + b
}

func main() {
    sonuc := topla(5, 10)
    fmt.Println("Toplam:", sonuc)
}

Goroutine ile Paralel Programlama


Go’nun en güçlü özelliklerinden biri goroutine kullanarak eşzamanlı (concurrent) programlama yapabilmesidir.

Kod:
package main
import (
    "fmt"
    "time"
)

func merhaba() {
    fmt.Println("Merhaba, Dünya!")
}

func main() {
    go merhaba()  // Goroutine olarak çağırıldı
    time.Sleep(time.Second)  // Ana programın bitmesini engellemek için
}

Goroutine’ler, çoklu işlemleri (multithreading) kolayca yönetmeye olanak tanır.

4. Go Kullanım Alanları


  • Web Geliştirme → Gin, Fiber, Echo gibi framework’ler ile güçlü web uygulamaları geliştirebilirsiniz.
  • Ağ Programlama → Yüksek performanslı API’ler ve mikro servisler oluşturabilirsiniz.
  • Dağıtık Sistemler → Kubernetes, Docker gibi modern altyapılarda kullanılır.
  • CLI (Komut Satırı Araçları) → Hafif ve hızlı CLI araçları yazabilirsiniz.
  • Veritabanı Uygulamaları → PostgreSQL, MySQL gibi veritabanlarına bağlanarak güçlü veri yönetimi sağlayabilirsiniz.



5. Sonuç: Neden Go Kullanmalıyım?


✅ Basit ve okunabilir bir dil → C ve Python’un en iyi yönlerini birleştirir.
✅ Çok hızlıdır → Derlenen bir dil olduğu için yüksek performanslıdır.
✅ Eşzamanlı çalışmayı destekler → Goroutine sayesinde yüksek ölçeklenebilirlik sağlar.
✅ Güçlü standart kütüphaneler → Ağ programlama, JSON işlemleri ve dosya yönetimi için güçlü araçlar sunar.
✅ Google, Dropbox, Uber gibi dev şirketler kullanıyor!


Go, modern yazılım geliştirme dünyasında hız, güvenilirlik ve ölçeklenebilirlik isteyenler için mükemmel bir seçimdir. Eğer performanslı ve sağlam yazılımlar geliştirmek istiyorsan, Go’yu öğrenmek harika bir yatırım olacaktır!
 
Eline emeğine sağlık çok güzel olmuş 👏
 
Geri
Üst