Sobes.tech
Junior

Kaip vadinama struktūra Go, kuri kopijuoja duomenis perduodant?

sobes.tech AI

Atsakymas iš AI

Go kalba, perduodant struktūrą, visada kopijuoja jos duomenis. Nėra specialaus pavadinimo struktūrai, kuri elgtųsi būtent taip, tai yra pagrindinė struktūrų savybė.

package main

import "fmt"

type Point struct {
	X, Y int
}

func modifyPoint(p Point) {
	// Keičiamas kopija p, ne originali struktūra
	p.X = 10
	p.Y = 20
	fmt.Printf("Funkcijos viduje: %v\n", p)
}

func main() {
	pt := Point{X: 1, Y: 2}
	fmt.Printf("Prieš funkcijos kvietimą: %v\n", pt)
	modifyPoint(pt)
	fmt.Printf("Po funkcijos kvietimo: %v\n", pt) // pt liko nepakitęs
}