Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot, kas ir sēne (slice) programmēšanā un kā tas darbojas?

sobes.tech AI

Atbilde no AI

Go valodā sagriezums (slice) ir dinamiska, maināma masīva daļa. Tas ir struktūra, kas satur:

  • norādi uz pirmo masīva elementu,
  • garumu (elementu skaitu sagriezumā),
  • kapacitāti (maksimālo elementu skaitu, ko sagriezums var saturēt bez pārdalīšanas).

Sagriezumi ļauj strādāt ar elementu secībām bez datu kopēšanas.

Piemērs, kā izveidot un izmantot sagriezumu:

arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // sagriezums ar indeksiem 1,2,3
fmt.Println(slice) // [2 3 4]

slice = append(slice, 6) // pievienojam elementu, ja nepieciešams, tiek piešķirta jauna atmiņa
fmt.Println(slice) // [2 3 4 6]

Sagriezumi ir noderīgi, jo tos var izveidot no esošajiem, mainīt to izmēru un nodot funkcijām bez visa masīva kopēšanas.