Junior — Middle
Da li je moguća situacija u kojoj promenljiva len prikazuje manju dužinu od stvarne veličine niza ili isečka?
sobes.tech АИ
Одговор од АИ
U Go, promenljiva len za niz ili odsečak uvek odražava trenutnu dužinu, koju vraća ugrađena funkcija len().
- Za niz,
lenje uvek jednak veličini niza i ne menja se. - Za odsečak,
lenprikazuje broj elemenata u odsečku, koji može biti manji ili jednak kapacitetu odsečka.
Situacija kada je len manji od stvarne veličine niza je nemoguća, jer je len za niz fiksiran i jednak veličini.
Za odsečak, dužina može biti manja od kapaciteta, ali ne veća od stvarnog broja dostupnih elemenata po indeksu.
Primer:
arr := [5]int{1,2,3,4,5}
fmt.Println(len(arr)) // 5
slice := arr[1:3]
fmt.Println(len(slice)) // 2
fmt.Println(cap(slice)) // 4
Ovde je dužina odsečka 2, iako je kapacitet 4. Ali dužina ne može biti veća od stvarne veličine odsečka.