Sobes.tech
Junior — Middle

Jaké jedinečné vlastnosti mají slices v jazyce Go?

sobes.tech AI

Odpověď od AI

Slicy v jazyce Go jsou dynamické, měnitelné pohledy na sekvence prvků pole. Unikátní vlastnosti sliců:

  • Dynamická velikost: na rozdíl od polí mohou slicy měnit délku během běhu programu.
  • Odkaz na pole: slice obsahuje ukazatel na základní pole, délku a kapacitu.
  • Kapacita a délka: délka je počet prvků v slicu, kapacita je maximální počet prvků, které může slice pojmout bez alokace nové paměti.
  • Kopírování sliců: kopírování slicu kopíruje strukturu, nikoli data, tedy oba slicy odkazují na stejnou pole.

Příklad vytvoření slicu:

arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // slice s prvky 2,3,4