Diziler, ayni tip ogelerden olusan sabit uzunluklu yapilardir. Uzunlugu degistirilemez ve sonradan dinamik olarak genisletilemez. Bu sebeplerden dolayi Golang icerisinde cok fazla tercih edilmez.
var a [5]int // 5 elementli int dizi tanimlar fmt.Println(a[0]) // 1. elementi yazar fmt.Println(a[len(a)-1]) // Son elementi yazar, a[4]
Degerleriyle beraber dizi tanimlamak icin array literal kullanilabilir.
var a [3]int = [3]int{1, 2, 3} var b [3]int = [3]int{1, 2} // Uzunlugunu 3 set ettigimiz icin son elementini default 0 atar fmt.Println(b[2]) // "0"
Dizi tanimlarken uzunluk yerine “…” koyulursa, dizi uzunlugu elementlerin sayisina gore belirlenir. Asagidaki kod blogu calistirildiginda uzunluk ekrana 5 olarak yazilacaktir.
a := [...]int{1, 2, 3, 4, 5} fmt.Print(len(a))
Bir dizinin boyutu, türünün bir parçasıdır yani [3] int ve [4] int farklı türlerdir. Ayni tip ve boyuttaki diziler karsilastirilabilirken, boyutlar farkli ise karsilastirirken hata verecektir. Diziler karsilastirilirken == veya != operatorleri kullanilabilir.
Golang ile uygulama gelistirilirken dizi yerine slice ler daha fazla tercih edilmektedir. Bir sonraki makalede slice leri inceleyecegiz.