Junior — Middle
Πώς λειτουργεί η λειτουργία copy στη γλώσσα Go και σε ποιες περιπτώσεις είναι δικαιολογημένη η χρήση της;
sobes.tech AI
Απάντηση από AI
Στη γλώσσα Go, η συνάρτηση copy χρησιμοποιείται για την αντιγραφή στοιχείων από ένα slice σε ένα άλλο. Έχει την υπογραφή:
func copy(dst, src []Type) int
Η copy αντιγράφει τουλάχιστον το μήκος των dst και src στοιχείων και επιστρέφει τον αριθμό των αντιγραμμένων στοιχείων.
Η χρήση δικαιολογείται όταν χρειάζεται να δημιουργηθεί ένα αντίγραφο ενός slice ή να αντιγραφεί μέρος των δεδομένων σε ένα άλλο slice, ώστε να αποφευχθεί η αλλαγή των αρχικών δεδομένων κατά την τροποποίηση του νέου slice.
Παράδειγμα:
src := []int{1, 2, 3, 4}
dst := make([]int, len(src))
count := copy(dst, src)
fmt.Println(dst) // [1 2 3 4]
fmt.Println(count) // 4
Αυτό είναι χρήσιμο για τη δημιουργία ανεξάρτητων αντιγράφων slices.