Sobes.tech
Junior — Middle

Program çalışması sırasında veri dizisi belleğin hangi bölümünde yer alır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde diziler, bağlama bağlı olarak farklı bellek alanlarında yer alabilir:

  • Bir dizi, bir fonksiyon içinde yerel değişken olarak tanımlanmışsa ve sınırlarını aşmıyorsa, genellikle yığında (stack) yer alır.
  • Dizi dinamik olarak oluşturulursa (örneğin, new kullanılarak veya bir dilim (slice) aracılığıyla bir diziye referans verilmişse), yığında (heap) yer alır.

Önemli olan, Go'daki dilimlerin (slice) bir diziye işaret eden bir gösterge, uzunluk ve kapasite içeren yapılar olduğudur. Dizi, oluşturulduğu yere ve kullanıma bağlı olarak yığında veya yığında olabilir.

Örnek:

func örnek() {
    var arr [5]int       // yığında yer alır
    slice := make([]int, 5) // yığında dizi
    _ = arr
    _ = slice
}