Junior — Middle
Este posibil să modificați conținutul unui array transmis ca slice în timpul execuției programului?
sobes.tech AI
Răspuns de la AI
Da, conținutul unui array transmis sub formă de slice poate fi modificat în timpul execuției programului. Un slice în Go este o structură care conține un pointer către un array, o lungime și o capacitate. Modificările elementelor slice-ului se reflectă în array-ul original, deoarece slice-ul indică către datele sale.
Exemplu:
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) // Va afișa: [100 2 3]
}
Prin urmare, modificarea slice-ului modifică și array-ul original.