Sobes.tech
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 append je 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í.