Junior — Middle
Go'da dilim (slice) ile çalışırken, eğer açıkça başlatılmamışsa hangi işlemler yapılabilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da, eğer dilim (slice) açıkça başlatılmamışsa (yani nil değerine sahipse), aşağıdaki işlemler yapılabilir:
nilolup olmadığını kontrol etmek (örneğin,if slice == nil), bu, dilimin başlatılıp başlatılmadığını belirlemek için faydalıdır.len(slice)vecap(slice)kullanarak uzunluk ve kapasiteyi almak.nilolan bir dilim için uzunluk ve kapasite 0'dır.- Eleman eklemek için
appendoperatörünü kullanmak. Bu, orijinal dilimnilise otomatik olarak yeni bir dilim oluşturur ve belleği ayırır.
Ancak, nil veya boş olan bir dilim öğelerine indeksle erişim yapılamaz, aksi takdirde panik (panic) oluşur.
Örnek:
var s []int // s == nil
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
s = append(s, 1) // şimdi s başlatıldı ve [1] içeriyor