Array tanımı
- Go kursu
- Başlangıç
- Ders 41/90
- 4 dk
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
package main
import "fmt"
func main() {
// buraya yaz
}Örnek çözüm
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
renk := [____]uint8{255, 128, 0}
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 |