Junior — Middle
Ar galite paaiškinti, kaip veikia skiltelės (slice) programavimo kalboje?
sobes.tech AI
Atsakymas iš AI
Go žymių (slice) yra dinamiškas, keičiamo dydžio elementų sekos vaizdas, kuris apima:
- nuorodą į masyvą,
- ilgį (elementų skaičių žymių viduje),
- talpą (maksimalų elementų skaičių, kurį galima talpinti be naujo atminties paskirstymo).
Žymės leidžia dirbti su masyvų dalimis arba kurti naujas dinamiškas sekas be duomenų kopijavimo.
Pavyzdys:
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // žymių dalis su indeksais 1,2,3: [2 3 4]
fmt.Println(s) // [2 3 4]
s = append(s, 6) // prideda elementą, jei talpa leidžia, žymė plečiasi
Žymės yra naudingos, nes leidžia efektyviai dirbti su duomenimis, nekopijuojant masyvų, ir dinamiškai keisti sekos dydį.