Sitemize hoşgeldiniz!  ::  Son eklenen yazı: Git’te “master” mı “main” mi? Bir kelimenin ardındaki hikâye  ::  Toplam 63 yazı  ::  Görüş ve önerileriniz için iletişim sayfasını kullanabilirsiniz.
» Menü
Anasayfa
Hakkımda
İletişim
» Kategoriler
› nostalji (8)
› laravel (7)
› php (5)
› web (3)
› agile (3)
› go (2)
› golang (2)
› api (2)
› redis (2)
› git (2)
› github (2)
› model (1)
» Arşiv
› Ekim 2025 (2)
› Temmuz 2025 (1)
› Nisan 2025 (3)
› Mart 2025 (5)
› Şubat 2025 (1)
› Ocak 2025 (43)
› Haziran 2011 (1)
› Kasım 2009 (1)
› Temmuz 2009 (1)
› Temmuz 2007 (1)
› Ocak 2007 (1)
› Kasım 2006 (1)
› Ekim 2006 (1)
› Ağustos 2006 (1)
Anasayfa » Yazılar » Go’ya Merhaba (1. Bölüm)
Go’ya Merhaba (1. Bölüm)
Yazan: Atilla Mutlu | Tarih: 11.03.2025 21:13 | Kategori: go, golang

Go (veya Golang), Google tarafından geliştirilen, sistem programlamaya yakın performansıyla yüksek seviyeli dillerin kullanım kolaylığını birleştiren, açık kaynaklı bir programlama dilidir. Projenizde hem basitlik hem de hız istiyorsanız tam size göre. “Acaba Go mu, Java mı?” diye düşünüyorsanız, Go’nun minimal sözdizimi ve hızlı derlemesi sizi fena halde cezbedebilir!

Ayrıca Go, concurrency (eşzamanlılık) desteğiyle çok çekirdekli sistemlerin nimetlerinden kolayca yararlanmanızı sağlar. Bu, performans açısından ‘dopingli koşu’ gibidir. Önceden belki “Thread’ları nasıl yöneteceğim? Ortalık karışacak mı?” diye korkuyor olabilirsiniz. Go ile goroutine adını verdiğimiz hafif iş parçacıkları ve channel yapısıyla bu iş çok daha kolay. Yani hem hızlı hem de pratik.

Ek olarak yazılım güvenliği konusunda da Go dilinde dikkat etmeniz gereken noktalar, değişken kullanımları ve modül yönetimi gibi konularda bilinçli yaklaşmak önemli. “Security her şeyden önce gelir!” mottosuyla ilerlemekte fayda var.

Hadi gelin, teoriyi yeterince övdük; sırada pratiğe bakmak var.


1.1 Go Kurulumu

  1. Go’yu İndirin: Resmi sitesinden (golang.org) işletim sisteminize uygun versiyonu indirin.
  2. Ortam Değişkeni:
    • Kurulum sonrasında GOPATH, GOROOT gibi değişkenler otomatik tanımlanmış olabilir.
    • Eğer elle ayarlamanız gerekirse, örneğin GOPATH’i proje klasörünüe (/Users/kullanici/go) yönlendirebilirsiniz.
  3. Kontrol: Kurulumun sorunsuz olup olmadığını test etmek için terminalde/komut satırında:
    go version

    komutunu verin. Versiyon numarasını görüyorsanız yola devam!


1.2 İlk Go Programı

  1. Bir proje klasörü açın, örnek: mkdir hello_go && cd hello_go.
  2. main.go adında bir dosya oluşturun ve içine şu kodu ekleyin:
package main

import "fmt"

func main() {
    fmt.Println("Merhaba Dünya, burası Go!")
}
  1. Terminalden build edin veya doğrudan çalıştırın:
    go run main.go

    veya

    go build main.go
    ./main

Ekranda Merhaba Dünya, burası Go! yazısını görmeniz lazım.


1.3 Go’da Temel Sözdizimi ve Örnekler

  1. Değişken Tanımlama:

    // Uzun yol
    var x int = 42
    
    // Kısa yol
    y := 42
    • Go’da := ile değişken tipini otomatik çıkartır.
  2. Döngüler:

    for i := 0; i < 5; i++ {
       fmt.Println(i)
    }
  3. Koşullar (if/else):

    if x := 10; x < 20 {
       fmt.Println("x, 20'den küçük")
    } else {
       fmt.Println("x, 20 ya da daha büyük")
    }
  4. Fonksiyonlar:

    package main
    
    import "fmt"
    
    func topla(a int, b int) int {
       return a + b
    }
    
    func main() {
       sonuc := topla(3, 5)
       fmt.Println("Toplam:", sonuc)
    }

1.4 Sonraki Bölümlerde Neler Olacak?

  1. Değişkenler, Veri Tipleri ve Temel Operatörler
  2. Fonksiyonlar, Metodlar ve İlerlemeli Örnekler
  3. Paket Yönetimi, Go Mod (go.mod) ve Proje Yapısı
  4. Eşzamanlılık (goroutine, channel) ve Senkronizasyon
  5. Web Programlama (net/http, REST API Geliştirme)
  6. Veritabanı Bağlantısı (SQL, NoSQL örnekleri)
  7. Hata Yönetimi (error handling) ve Özel Durumlar
  8. İleri Düzey Concurrency Örnekleri (Worker Pool, Context Kullanımı)
  9. Güvenlik ve En İyi Uygulamalar (input doğrulama, şifreleme, JWT, vb.)
  10. Dağıtım (Deployment), CI/CD ve Pratik İpuçları

Böylelikle, Go maceramıza en temelde ufak bir giriş yaptık. Bir sonraki bölümde veri tiplerine ve fonksiyon yapısına derinlemesine dalacağız!

« Geri dön | Yorum gönder | Yukarı ↑
» Hakkımda
A
Atilla Mutlu
Yazılım Geliştirici

Devamını oku »
» Son Yazılar
› Git’te “master” mı “main” mi? Bir kelimenin ardındaki hikâye
› Laravel Model Controller
› PostgreSQL Mini‑Kılavuz
› ReactJS Rehberi
› Spatie Laravel Paketleri
» İstatistik
Ziyaretçi Sayısı
036363
Toplam yazı: 63
PHPpowered SQLiteinside Firefoxile daha iyi CSStables ♥
Bu site en iyi 1024x768 çözünürlükte görüntülenir.
Copyright © 2006-2026
Anasayfa | Hakkımda | İletişim | Yukarı ↑
Bu sayfa 0,013 saniyede oluşturuldu.