# Go Diziler & Dilimler

Go diziler (arrays) ve dilimler(slices) dersini işliyoruz.

Dizi, homojen öğeleri bellekte saklamak için kullanılan belirli veya sonsuz uzunluklu bir değişken tipidir. Dilimler ise elimizde ki dizilerden parçalayarak oluşturduğumuz yeni dizilerdir.

Go programlama dilindeki diziler diğer programlama dillerine çok benzer. Dizilerde aynı türden bir veri koleksiyonunu depolamamız gerekir. Yani hem int hem string veri tipini aynı dizide bulunduramayız.

Go programlama dilinde bir diziyi birden fazla yöntemle oluşturabiliriz.

// boş dizi oluşturma
var hayvanlar []string
cicekler := []string{}

// boş ve eleman sayısını belirleyerek dizi oluşturma
var sayilar [3]int
var sehirler [10]string

// başlangıçta elemanlara sahip dizi oluşturma
rakamlar := [81]int{1,2,3,4,5,6}
var rastgele1 []int = []int{1,2,3,4,5,6}
var rastgele2 [6]int = [6]int{1,2,3,4,5,6}

// eleman sayısını dizi boyutu kadar belirleme
sira := [...]int{1,2,3,4,5,6}

// make() fonksiyonu ile belirli uzunlukta dizi 
a := make([]int, 5)

// make() fonksiyonu ile belirli uzunlukta (0) ve kapasitede (5) dizi 
b := make([]int, 0, 5)
circle-info

[] içinde kalan değer dizimizin eleman sayısını belirtir. Eğer belirtmezseniz sonsuz kapasiteli dizi elde edersiniz. Fakat eleman sayısını belirtirseniz int diziler için öntanımlı olarak 0, string diziler için "" elemanı dizinin elemanlarına tanımlanır.

Yukarıdaki bilgi notunda verdiğimiz bilgiyi görelim.

Oluşturduğumuz liste değişkeninin tipini kontrol edelim.

1. Dizi Elemanlarına Erişim

Go programlama dilinde elinizdeki bir listenin elemanlarına ulaşabilmek için indeksleri kullanmalısınız. Aşağıdaki örnekle indeksleri nasıl kullanacağınızı gösterelim.

circle-exclamation

2. Dizi Elemanını Değiştirmek

Dizi elemanlarını görüntüledikten sonra eğer bir elamanı değiştirmek istiyorsanız direkt ilgili indekse değer atayabilirsiniz.

3. Dizi Eleman Sayısını Bulmak

Dizilerin eleman sayısını bulabilmek için len() fonksiyonunu kullanmalıyız.

4. Bir Listeden Yeni Liste Oluşturma (Slice)

Elimizde mevcut olan bir listeden indeks belirterek yeni bir liste oluşturabiliriz. Bu işleme dilimleme yani slice denir. Örneğin mevcut listenin 2.indeksinden 5.indeksine kadar ( 5 dahil değil ) olan elemanlarla yeni bir liste oluşturalım.

circle-info

Bu şekilde yeni liste oluştururken [x:y] ifadesinde x dahil, y dahil değildir. Ayrıca indeksin 0 dan başladığını unutmayınız!

5. Diziye Yeni Eleman Ekleme

Diziler ile çalışırken dizinin sonuna rahatlıkla yeni bir eleman ekleyebilirsiniz. Bunun için append() fonksiyonunu kullanacağız.

Tek bir eleman yerine yeni bir dizide ekleyebilirsiniz.

6. Diziden Bir Elemanı Çıkarmak

Diziden eleman çıkarmak için belirli bir fonksiyon yok ama aşağıdaki örneği inceleyebilirsiniz.

7. Liste Kopyalamak ve Çoğaltmak

Elimizde olan bir listeyi kopyalayarak çoğaltmak istiyorsak kopyalayacağımız diziyi direkt yeni diziye eşitleyebiliriz.

Last updated