Sobes.tech
Junior — Middle

Mida tähendab nullväärtus lõigu jaoks programmeerimiskeeles?

sobes.tech AI

Vastus AI-lt

Go keeles, lõik (slice) on dünaamiline massiiv, mis sisaldab viidet massiivile, selle pikkust ja mahtu.

Nullväärtus lõigul on nil. Selline lõik ei viita ühelegi massiivile ning selle pikkus ja maht on null.

Null lõigu omadused:

  • Seda saab kontrollida slice == nil abil.
  • Püüdlus sellele elementidele ligi pääseda põhjustab panni.
  • Seda saab kasutada tühja lõiguna, näiteks andmete puudumise märkimiseks.

Näide:

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

// Turvaliselt saab initsialiseerida tühja lõigu:
s = []int{}
fmt.Println(s == nil) // false
fmt.Println(len(s))   // 0

Seega, nullväärtus lõigul on nil, mis erineb tühjast lõigust, kuid mitte nil lõigust.