Sobes.tech
Junior — Middle

Programlama dilinde hangi durumlarda dinamik dizi (slice) otomatik olarak büyür?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde, dilim (slice) bir diziye işaretçi, uzunluk ve kapasite içeren bir yapıdır. append fonksiyonuyla öğeler eklendiğinde ve dilimin mevcut uzunluğu kapasiteye ulaştığında, dilimin boyutu otomatik olarak artar.

Bu noktada, genellikle önceki boyutun iki katı olan yeni bir dizi tahsis edilir, eski öğeler yeni diziye kopyalanır ve dilimin işaretçisi yeni diziye güncellenir. Bu, dilimin öğeler eklendikçe dinamik olarak büyümesini sağlar.

Örnek:

s := make([]int, 0, 2) // uzunluk 0, kapasite 2
s = append(s, 1)        // uzunluk 1, kapasite 2
s = append(s, 2)        // uzunluk 2, kapasite 2
s = append(s, 3)        // uzunluk 3, kapasite artırılır, örneğin 4'e

Bu şekilde, öğeler eklendikçe ve uzunluk kapasiteye ulaştığında boyut otomatik olarak artar.