0Pricing
Go Academy · Ders

Go'da Değişken Tanımlama

var, := ve tür çıkarımı

Go'da Değişken Tanımlama, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.

Değişken Nedir?

Değişken, bir değer için adlandırılmış bir saklama alanıdır. Go'da her değişkenin derleme zamanında sabitlenen bir türü vardır.

  • Go'da türler statik olarak belirlenir — türler çalışma zamanında değişemez
  • Değişkenlere açıkça bir değer atanmadığında her zaman varsayılan bir sıfır değeri olur
  • Açık adlandırma önemlidir: Go, uzun adlar yerine kısa ve anlaşılır adları tercih eder

var Bildirimi

var anahtar sözcüğü, bir veya daha fazla değişkeni açıkça bildirir:

package main

func main() {
    var name string
    var age  int
    var pi   float64 = 3.14
    _ = name
    _ = age
    _ = pi
}

Kısa Değişken Bildirimi :=

İşlevlerin içinde, tek adımda kısa bir bildirim ve atama yapmak için := kullanabilirsiniz.

  • Tür, sağ taraftaki ifadeden çıkarılır
  • := yalnızca bir işlev gövdesinin içinde kullanılabilir
  • Soldaki değişkenlerden en az biri yeni olmalıdır
package main

func main() {
    city := "Ankara"   // string inferred
    count := 42         // int inferred
    temp := 36.6        // float64 inferred
    _ = city
    _ = count
    _ = temp
}

Sıfır Değerleri

Go, bildirilen her değişkene otomatik olarak sıfır değerini atar:

  • int, float64 → 0
  • string → "" (boş dize)
  • bool → false
  • İşaretçiler, dilimler, eşlemeler, kanallar → nil

Sıfır değerleri, C/C++'ta sık görülen başlatılmamış değişken hatalarını ortadan kaldırır.

Birden Çok Değişken Bildirimi

Bir blok veya demet biçimi kullanarak aynı anda birden çok değişken bildirin ve bunlara değer atayın:

package main

var (
    host = "localhost"
    port = 8080
    debug = false
)

func main() {
    x, y := 10, 20
    _ = x
    _ = y
}

Tür Çıkarımı Kuralları

:= kullandığınızda Go, türü sabit değerden çıkarır:

  • Tamsayı sabitleri → int
  • Kayan noktalı sayı sabitleri → float64
  • Dize sabitleri → string
  • Karmaşık sayı sabitleri → complex128

Belirli bir türe (örneğin int32) ihtiyacınız varsa açık bir var bildirimi veya dönüşüm kullanın.

Paket Düzeyi ve İşlev Düzeyi Değişkenler

Değişkenler paket düzeyinde (paket genelinde) veya işlev düzeyinde (işleve yerel) bulunabilir:

  • Paket düzeyi: var kullanın — paketin her yerinden erişilebilir
  • İşlev düzeyi: := veya var kullanın — yalnızca işlevin içinde görünür
  • Durumu sınırlı tutmak için işlev düzeyi değişkenleri tercih edin

Boş Tanımlayıcı _

Boş tanımlayıcı _, ihtiyacınız olmayan bir değeri yok sayar. Go, bildirilen her değişkenin kullanılmasını zorunlu kılar — _ bu kuraldan kaçış yoludur:

package main

func divide(a, b int) (int, int) {
    return a / b, a % b
}

func main() {
    quotient, _ := divide(10, 3) // discard remainder
    _ = quotient
}

Değişken Gölgeleme

Gölgeleme, iç kapsamdaki bir bildirim dış kapsamdakiyle aynı ada sahip bir değişken bildirdiğinde gerçekleşir:

  • İç değişken, kendi kapsamı içinde dış değişkeni gizler
  • Bu durum fark edilmesi zor hatalara yol açabilir — bilinçli olarak kullanın
  • Yanlışlıkla yapılan gölgelemeleri saptamak için go vet ve staticcheck gibi lint araçlarını kullanın

:= Kullanımında Sık Yapılan Hatalar

Şu := kullanım tuzaklarına dikkat edin:

  • Paket düzeyinde := kullanmak → derleme hatası
  • Soldaki tüm değişkenler zaten mevcut → bunun yerine = kullanın
  • if-hata bloklarında dışarıdaki bir hata değişkenini yanlışlıkla gölgelemek

Şüpheye düştüğünüzde açıklık için açık bir var bildirimi kullanın.

Hızlı Kontrol

Aşağıdakilerden hangisi Go'da doğru kısa değişken bildirimi söz dizimidir?

Özet: Değişken Bildirme

Artık Go'da değişken bildirmeyi biliyorsunuz:

  • var name type — sıfır değeriyle açık bildirim
  • var name = value — tür çıkarımı yapan var bildirimi
  • name := value — işlevlerin içinde kullanılan kısa bildirim
  • Sıfır değerleri otomatiktir — başlatılmamış durum yoktur
  • _, istenmeyen değerleri yok sayar

Sırada: Go'nun yerleşik türleri ve bunların sıfır değerleri ayrıntılı olarak ele alınacak.

Alıştırma Görevi

Kendiniz deneyin: string türünde paket düzeyi bir appName değişkeni ve := kullanarak 3 değerine ayarlanmış işlev düzeyi bir retries değişkeni bildirin.

Unutmayın: paket düzeyi değişkenlerde var kullanılır ve := yalnızca işlev gövdelerinin içinde geçerlidir.

Sıkça Sorulan Sorular

“Go'da Değişken Tanımlama” dersi ücretsiz mi?

Evet — “Go'da Değişken Tanımlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.

“Go'da Değişken Tanımlama” dersinde ne öğreneceğim?

var, := ve tür çıkarımı Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Go Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Go'da Değişken Tanımlama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Go'da Değişken Tanımlama
  2. Go'nun Yerleşik Türleri
  3. Sabitler ve iota
  4. Go'da Tür Dönüşümleri
← Go Academy Sayfasına Dön