Kemal Burak Yılmaz

Golang Diziler

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.

Exit mobile version