Junior
Как се нарича структурата в Go, която копира данните при предаване?
sobes.tech AI
Отговор от AI
В Go, при предаване структура винаги копира своите данни. Няма специално име за структура, която се държи точно така, това е фундаментално свойство на структурите.
package main
import "fmt"
type Point struct {
X, Y int
}
func modifyPoint(p Point) {
// Променяме копието p, не оригиналната структура
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 остана непроменен
}