Sobes.tech
Junior — Middle

Программалоо тилинде кесим үчүн нөл мааниси эмнени билдирет?

sobes.tech AI

AIден жооп

Go тилинде, кесим (slice) — бул динамикалык массив, ал массивке шилтеме, узундугу жана сыйымдуулугу бар.

Нөлдүк мааниси nil. Мындай кесим эч кандай массивке шилтеме кылбайт, анын узундугу жана сыйымдуулугу нөлгө барабар.

Нөлдүк кесимдин өзгөчөлүктөрү:

  • Аны slice == nil аркылуу текшерсе болот.
  • Анын элементтерине кирүүгө аракет кылуу паникага алып келет.
  • Аны бош кесим катары колдонсо болот, мисалы, маалыматтын жоктугун көрсөтүү үчүн.

Мисал:

var s []int // s == nil
fmt.Println(s == nil) // true
fmt.Println(len(s))   // 0
fmt.Println(cap(s))   // 0

// Коопсуз түрдө бош кесимди баштоо:
s = []int{}
fmt.Println(s == nil) // false
fmt.Println(len(s))   // 0

Ошентип, нөлдүк мааниси nil, ал бош кесимден айырмаланат, бирок nil кесим менен бирдей.