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 срез.