Go Academy · Ders

Diziler: Sabit Uzunluklu Koleksiyonlar

Dizi sabitleri, indeksleme ve uzunluk

1. ders / 413 adım

Diziler: Sabit Uzunluklu Koleksiyonlar, 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.

Dizi Nedir?

Go'da bir dizi, aynı türden öğelerin sabit uzunluklu bir dizisidir. Uzunluk türün bir parçasıdır: [3]int ve [4]int farklı türlerdir.

  • Diziler değer türüdür; atama işlemi dizinin tamamını kopyalar
  • Uzunluk derleme zamanında her zaman bilinir
  • Doğrudan nadiren kullanılır; çoğu görev için dilimler tercih edilir

Dizi Değişmezleri

Bir değişmezle dizi bildirip başlatınız:

package main

func main() {
    primes := [5]int{2, 3, 5, 7, 11}
    names  := [3]string{"Alice", "Bob", "Carol"}
    flags  := [4]bool{true, false, true, false}
    _ = primes; _ = names; _ = flags
}

Dizi Uzunluğu ve İndeksleme

Uzunluk için len() kullanınız; öğeleri okumak veya yazmak için sıfır tabanlı indeksleme yapınız:

package main
import "fmt"

func main() {
    scores := [3]int{90, 85, 92}
    fmt.Println(len(scores)) // 3
    fmt.Println(scores[0])   // 90
    scores[1] = 100
    fmt.Println(scores)      // [90 100 92]
}

Dizi Değişmezlerinde Üç Nokta

Öğeleri sizin için derleyicinin saymasını sağlamak üzere [...] kullanınız:

package main
import "fmt"

func main() {
    days := [...]string{"Mon","Tue","Wed","Thu","Fri"}
    fmt.Println(len(days)) // 5
}

Diziler Değer Türüdür

Bir diziye atama yaptığınızda veya diziyi aktardığınızda Go dizinin tamamını kopyalar. Kopyayı değiştirmek özgün diziyi etkilemez:

package main
import "fmt"

func main() {
    a := [3]int{1, 2, 3}
    b := a     // full copy
    b[0] = 99
    fmt.Println(a) // [1 2 3] — unchanged
    fmt.Println(b) // [99 2 3]
}

Dizileri Karşılaştırma

Aynı türde ve uzunlukta diziler == ve != ile karşılaştırılabilir:

package main
import "fmt"

func main() {
    x := [3]int{1, 2, 3}
    y := [3]int{1, 2, 3}
    z := [3]int{1, 2, 4}
    fmt.Println(x == y) // true
    fmt.Println(x == z) // false
}

İki Boyutlu Diziler

Diziler, ızgaralar veya matrisler oluşturacak şekilde iç içe yerleştirilebilir:

package main
import "fmt"

func main() {
    grid := [2][3]int{
        {1, 2, 3},
        {4, 5, 6},
    }
    fmt.Println(grid[1][2]) // 6
}

Dizi Üzerinde Yineleme

Yineleme yapmak için klasik bir for döngüsü veya range kullanınız:

package main
import "fmt"

func main() {
    nums := [4]int{10, 20, 30, 40}
    for i, v := range nums {
        fmt.Printf("[%d] = %d\n", i, v)
    }
}

Diziler ve Dilimler Arasındaki Farklar

Temel farklar:

  • Dizi: sabit boyut, değer türü; boyut türün bir parçasıdır
  • Dilim: dinamik boyut, başvuru türü; bir dizi tarafından desteklenir
  • Uygulamada, derleme zamanında sabit bir boyuta ihtiyaç duymadığınız sürece dilimleri kullanınız (ör. SHA-256 karması için [32]byte)

Yaygın Tuzaklar

Şu noktalara dikkat ediniz:

  • İndeks aralık dışında olduğunda Go çalışma zamanında panic üretir: i >= len(arr)
  • Büyük dizileri işlevlere aktarmak maliyetli kopyalara neden olur; bunun yerine işaretçiler veya dilimler kullanınız
  • [3]int ve [4]int türlerinin uyumsuz olduğunu unutmayınız

Hızlı Kontrol

[...]string{"a","b","c"} ifadesinin uzunluğu nedir?

Özet: Diziler

Temel çıkarımlar:

  • Dizilerin türün parçası olan sabit ve derleme zamanında belirlenen bir uzunluğu vardır
  • Diziler değer türüdür; atama tüm öğeleri kopyalar
  • len() ve sıfır tabanlı indeksleme kullanınız
  • Çoğu koleksiyon gereksinimi için dilimleri tercih ediniz

Alıştırma Görevi

5 tam sayılık bir dizi bildiriniz, üçüncü öğeye 100 değerini atayınız, ardından range kullanarak diziyi yazdırınız.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Go öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
51
Dersler
203

Sıkça Sorulan Sorular

“Diziler: Sabit Uzunluklu Koleksiyonlar” dersi ücretsiz mi?

Evet — “Diziler: Sabit Uzunluklu Koleksiyonlar” 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.

“Diziler: Sabit Uzunluklu Koleksiyonlar” dersinde ne öğreneceğim?

Dizi sabitleri, indeksleme ve uzunluk 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.

“Diziler: Sabit Uzunluklu Koleksiyonlar” 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. Diziler: Sabit Uzunluklu Koleksiyonlar
  2. Dilimler: Dinamik Listeler
  3. Eşlemeler: Anahtar-Değer Depoları
  4. Koleksiyonları range ile Yineleme
← Go Academy Sayfasına Dön