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 кесим менен бирдей.