Sobes.tech
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 эмес, бир элемент камтыйт

Индекстер боюнча элементтерге кайрылыу мүмкүн эмес, анткени слайс бош жана бул паникага алып келет.