Go Software Development

Golang Diziler

Written by Burak Yılmaz

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.

About the author

Burak Yılmaz