Sobes.tech
Junior — Middle

Lze během běhu programu měnit obsah pole předaného jako slice?

sobes.tech AI

Odpověď od AI

Ano, obsah pole předaného jako slice lze během běhu programu měnit. Slice v Go je struktura, která obsahuje ukazatel na pole, délku a kapacitu. Změny v elementech slicu se odrážejí v původním poli, protože slice ukazuje na jeho data.

Příklad:

package main
import "fmt"

func modifySlice(s []int) {
    s[0] = 100
}

func main() {
    arr := [3]int{1, 2, 3}
    slice := arr[:]
    modifySlice(slice)
    fmt.Println(arr) // Vypíše: [100 2 3]
}

Tedy změna slicu mění i původní pole.