Sobes.tech
Junior — Middle

Czy można modyfikować zawartość tablicy przekazanej jako slice podczas działania programu?

sobes.tech AI

Odpowiedź od AI

Tak, zawartość tablicy przekazanej jako slice może być modyfikowana podczas działania programu. Slice w Go to struktura zawierająca wskaźnik na tablicę, długość i pojemność. Zmiany elementów slice odzwierciedlają się w oryginalnej tablicy, ponieważ slice wskazuje na jej dane.

Przykład:

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) // Wypisze: [100 2 3]
}

W związku z tym, modyfikacja slice zmienia również oryginalną tablicę.