Junior — Middle
Vysvětlete, co jsou řezy v programování v Pythonu.
sobes.tech AI
Odpověď od AI
V jazyce Go (Golang) jsou řezy (slices) dynamické datové struktury, které představují obal nad polem. Umožňují práci s posloupnostmi prvků proměnné délky.
Hlavní vlastnosti řezů:
- Řez obsahuje ukazatel na pole, délku a kapacitu.
- Délka je počet prvků dostupných v řezu.
- Kapacita je maximální počet prvků, které může řez pojmout bez přerozdělení.
- Řezy lze vytvářet z polí nebo jiných řezů pomocí syntaxe
array[start:end]. - Při přidávání prvků pomocí funkce
appendje podle potřeby alokováno nové pole s větší kapacitou.
Příklad:
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // řez prvků s indexy 1,2,3
fmt.Println(slice) // [2 3 4]
slice = append(slice, 6) // přidání prvku
fmt.Println(slice) // [2 3 4 6]
Tímto jsou řezy vhodné pro práci s dynamickými posloupnostmi bez nutnosti ruční správy polí.