Sobes.tech
Junior

Mi a neve annak a struktúrának Go-ban, amely adatokat másol átadáskor?

sobes.tech MI

Válasz az MI-től

Go-ban, a struktúra átadásakor mindig másolatot készít az adatairól. Nincs külön neve annak a struktúrának, amely pontosan így viselkedik, ez alapvető tulajdonsága a struktúráknak.

package main

import "fmt"

type Point struct {
	X, Y int
}

func modifyPoint(p Point) {
	// Másolatot módosítunk p-ben, nem az eredeti struktúrát
	p.X = 10
	p.Y = 20
	fmt.Printf("A függvényen belül: %v\n", p)
}

func main() {
	pt := Point{X: 1, Y: 2}
	fmt.Printf("A függvényhívás előtt: %v\n", pt)
	modifyPoint(pt)
	fmt.Printf("A függvényhívás után: %v\n", pt) // pt változatlan maradt
}