Sobes.tech
Junior

Πώς ονομάζεται η δομή στο Go που αντιγράφει δεδομένα κατά τη μεταβίβαση;

sobes.tech AI

Απάντηση από AI

Στο Go, η δομή κατά τη μεταβίβαση πάντα αντιγράφει τα δεδομένα της. Δεν υπάρχει ειδική ονομασία για τη δομή που συμπεριφέρεται ακριβώς έτσι, αυτό είναι μια θεμελιώδης ιδιότητα των δομών.

package main

import "fmt"

type Point struct {
	X, Y int
}

func modifyPoint(p Point) {
	// Αλλάζουμε το αντίγραφο p, όχι τη δομή original
	p.X = 10
	p.Y = 20
	fmt.Printf("Μέσα στη συνάρτηση: %v\n", p)
}

func main() {
	pt := Point{X: 1, Y: 2}
	fmt.Printf("Πριν από την κλήση της συνάρτησης: %v\n", pt)
	modifyPoint(pt)
	fmt.Printf("Μετά την κλήση της συνάρτησης: %v\n", pt) // το pt παρέμεινε αμετάβλητο
}