CodeBlanks Logo Icon CodeBlanks

Array tanımı

Sabit boyutlu dizileri tanımlamayı öğrenirsin.

Array tanımı

Array (dizi) sabit uzunlukta, aynı türden elemanlar dizisidir. Uzunluk türün parçasıdır: [3]int ile [4]int farklı türlerdir.

var notlar [3]int        // [0 0 0]
notlar[0] = 90
gunler := [...]string{"Pzt", "Sal", "Çar"}  // uzunluk 3
fmt.Println(notlar, len(gunler))

Dizinler 0'dan başlar; aralık dışı dizin derleme ya da çalışma anında hata verir.

Array ne zaman?

Uzunluğu derleme anında kesin bilinen küçük veri için array uygundur: RGB renk ([3]uint8), satranç tahtası ([8][8]Tas), SHA-256 özeti ([32]byte). Array'ler == ile karşılaştırılabilir ve map anahtarı olabilir. Günlük kodda ise çoğunlukla esnek uzunluklu slice kullanılır.

Uygulama Dizi ortalaması

notlar := [4]int{70, 85, 90, 55} tanımla. for ile topla, ortalamayı float64 olarak hesapla ve yazdır.

Başlangıç kodu

main.go
package main

import "fmt"

func main() {
    // buraya yaz
}

Örnek çözüm

main.go
package main

import "fmt"

func main() {
    notlar := [4]int{70, 85, 90, 55}
    toplam := 0
    for _, n := range notlar {
        toplam += n
    }
    fmt.Println(float64(toplam) / float64(len(notlar)))
}

Beklenen çıktı

75

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir array başka bir değişkene atanınca ne olur?

  • Yalnızca ilk eleman kopyalanır
  • Derleme hatası
  • Tüm elemanlar kopyalanır Doğru cevap
  • Aynı belleği paylaşırlar

Açıklama: Array'ler değer türüdür; b := a sonrası b'yi değiştirmek a'yı etkilemez. Dilimler ise aynı diziyi paylaşır.

2 Uzunluğu say

Soru
renk := [____]uint8{255, 128, 0}
Cevap
renk := [...]uint8{255, 128, 0}

Açıklama: [...] derleyicinin uzunluğu eleman sayısından çıkarmasını sağlar.

3 İfade ve sonuç

Kavram Anlamı
var a [3]int [0 0 0]
len([5]int{}) 5
[3]int == [4]int Farklı tür, karşılaştırılamaz
b := a Kopya

Başlangıç bölümündeki tüm dersler