Junior — Middle
Μπορείτε να αλλάξετε το περιεχόμενο ενός πίνακα που έχει δοθεί ως slice κατά τη διάρκεια της εκτέλεσης του προγράμματος;
sobes.tech AI
Απάντηση από AI
Ναι, το περιεχόμενο ενός πίνακα που περνάει ως slice μπορεί να τροποποιηθεί κατά τη διάρκεια της εκτέλεσης του προγράμματος. Ένα slice στο Go είναι μια δομή που περιέχει έναν δείκτη σε έναν πίνακα, μήκος και χωρητικότητα. Οι αλλαγές στα στοιχεία του slice αντικατοπτρίζονται στον αρχικό πίνακα, καθώς το slice δείχνει στα δεδομένα του.
Παράδειγμα:
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]
}
Επομένως, η τροποποίηση του slice τροποποιεί και τον αρχικό πίνακα.