Sobes.tech
Junior — Middle

Co oznacza wartość zerowa dla wycinka w języku programowania?

sobes.tech AI

Odpowiedź od AI

W języku Go, wycinek (slice) to dynamiczna tablica, która zawiera odwołanie do tablicy, jej długość i pojemność.

Wartość zerowa wycinka to nil. Taki wycinek nie wskazuje na żadną tablicę, a jego długość i pojemność są równe zero.

Cechy wycinka zerowego:

  • Można go sprawdzić za pomocą slice == nil.
  • Próba dostępu do jego elementów spowoduje panic.
  • Można go używać jako pustego wycinka, na przykład do oznaczenia braku danych.

Przykład:

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

// Bezpiecznie można zainicjalizować pusty wycinek:
s = []int{}
fmt.Println(s == nil) // false
fmt.Println(len(s))   // 0

W związku z tym, wartość zerowa wycinka to nil, co różni się od pustego wycinka, ale nie od wycinka nil.