Junior — Middle
Kā atšķirt Go valodā sērijas izveides veidus, izmantojot var, make un piešķīrumus pēc indeksiem vai caur append?
sobes.tech AI
Atbilde no AI
Go valodā, šķēlumi (slices) var tikt izveidoti dažādos veidos, kas atšķiras pēc inicializācijas un atmiņas sadalīšanas:
- Deklarācija ar
var— izveido nil šķēli, kas neparāda uz jebkuru masīvu un ir ar garumu un kapacitāti 0.
var s []int // nil šķēle
- Šķēles izveide ar
make— piešķir masīvu ar norādītu garumu un kapacitāti un atgriež šķēli, kas norāda uz šo masīvu.
s := make([]int, 5) // šķēle ar garumu 5, aizpildīta ar nullēm
-
Indeksa piešķiršana — iespējama tikai tad, ja šķēle jau ir inicializēta un tai ir pietiekams garums.
-
Elementu pievienošana ar
append— pievieno elementus šķēlei, un ja nepieciešams, palielina kapacitāti un piešķir jaunu masīvu.
s = append(s, 10) // pievieno elementu 10 šķēlei
Tādējādi, var izveido tukšu nil šķēli, make — šķēli ar piešķirtu atmiņu, indeksa piešķiršana prasa esošu garumu, bet append dinamiski paplašina šķēli.