Junior — Middle
Эгер нөлдүк мааниге ээ бөлүк түзсөңүз, эмне болот жана анын менен кандай операциялар жүргүзүлүшү мүмкүн?
sobes.tech AI
AIден жооп
Go тилде нөлдүк мааниге ээ слайс nil слайс болуп саналат. Ал эч кандай массивге көрсөтпөйт жана узундугу менен сыйымдуулугу нөлгө барабар.
Мындай слайс менен жасала турган операциялар:
- Узундугун жана сыйымдуулугун алуу (
len(slice) == 0,cap(slice) == 0) - Слайс боюнча итерциялоо (цикл жөн гана ишке ашпайт)
appendаркылуу элементтерди кошуу, бул жаңы слайс түзүп, бөлүнгөн эс тутумду алат
Мисал:
var s []int // nil слайс
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
s = append(s, 1) // эми s nil эмес, бир элемент камтыйт
Индекстер боюнча элементтерге кайрылыу мүмкүн эмес, анткени слайс бош жана бул паникага алып келет.