Junior — Middle
Кадом функсия ва амалҳои дарунсохт барои слайс, ки ҳанӯз инициализатсия нашудааст, иҷозат дода мешаванд?
sobes.tech AI
Ҷавоб аз AI
Дар забони Go, як слайс, ки инициализатсия нашудааст (яъне nil аст), барои амалҳои зерин истифода мешавад:
- Санҷиши nil:
if slice == nil {} - Донистани дарозӣ ва иқтидори:
len(slice)ваcap(slice)0 бармегардонанд - Иҷрои амали илова кардани унсурҳо бо истифода аз
append, масалан:
var s []int // nil-слайс
s = append(s, 1, 2, 3) // ҳоло слайс инициализатсия шудааст ва унсурҳо дорад
Аммо, ба унсурҳо бо индекс дастрасӣ кардан мумкин нест, масалан s[0], агар слайс nil ё холӣ бошад — ин паника ба вуҷуд меорад.