Junior — Middle
Go-da dilimlə işləyərkən, əgər o açıq şəkildə başlanmamışsa, hansı əməliyyatlar mümkündür?
sobes.tech Süni İntellekt
AI-dan cavab
Go-da, əgər dilim (slice) açıq şəkildə inicializasiya edilməyibsə (yəni, nil dəyərinə malikdirsə), aşağıdakı əməliyyatlar həyata keçirilə bilər:
nilolub-olmadığını yoxlamaq (məsələn,if slice == nil), bu, dilimin inicializasiya olunub-olunmadığını müəyyən etmək üçün faydalıdır.- Uzunluq və tutumu
len(slice)vəcap(slice)istifadə etməklə əldə etmək.nil-dilimin uzunluğu və tutumu 0-dır. - Element əlavə etmək üçün
appendoperatorundan istifadə etmək. Bu, orijinal dilimnildirsə, avtomatik olaraq yeni dilim yaradacaq və yaddaş ayıracaq.
Ancaq, nil və ya boş dilim elementlərinə indekslə giriş etmək mümkün deyil, əks halda panic baş verər.
Nümunə:
var s []int // s == nil
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
s = append(s, 1) // indi s inicializasiya olunub və [1] ehtiva edir