Junior — Middle
Може ли да се променя съдържанието на масив, предаден като слайс, по време на изпълнение на програмата?
sobes.tech AI
Отговор от AI
Да, съдържанието на масив, предаден като слайс, може да бъде променяно по време на изпълнение на програмата. Слайс в Go е структура, която съдържа указател към масив, дължина и капацитет. Промените в елементите на слайса се отразяват в оригиналния масив, тъй като слайсът сочи към неговите данни.
Пример:
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) // Ще изведе: [100 2 3]
}
Следователно, промяната на слайса също променя оригиналния масив.