Junior — Middle
Πώς αλλάζει η κατάσταση του πίνακα κατακερματισμού κατά την μεταβίβασή του σε μια συνάρτηση ως παράμετρος;
sobes.tech AI
Απάντηση από AI
Στο Go, οι πίνακες κατακερματισμού υλοποιούνται μέσω του τύπου map, ο οποίος περνάει στις συναρτήσεις με αναφορά. Αυτό σημαίνει ότι όταν περνάμε ένα map σε μια συνάρτηση, δεν αντιγράφεται ο πίνακας, αλλά ένας δείκτης στη εσωτερική δομή δεδομένων του.
Ως αποτέλεσμα, οποιεσδήποτε αλλαγές γίνονται στο map μέσα στη συνάρτηση (προσθήκη, διαγραφή ή τροποποίηση στοιχείων) θα είναι ορατές και έξω από τη συνάρτηση, καθώς τροποποιείται το ίδιο αντικείμενο.
Παράδειγμα:
func addEntry(m map[string]int, key string, value int) {
m[key] = value
}
func main() {
myMap := make(map[string]int)
addEntry(myMap, "key1", 100)
fmt.Println(myMap) // Θα εμφανίσει: map[key1:100]
}
Έτσι, η κατάσταση του πίνακα κατακερματισμού αλλάζει άμεσα κατά την μεταβίβαση σε μια συνάρτηση.