Sobes.tech
Junior

Kuidas nimetatakse Go-s struktuuri, mis kopeerib andmeid edastamisel?

sobes.tech AI

Vastus AI-lt

Go keeles, struktuur edastamisel kopeerib see alati oma andmed. Spetsiaalset nime struktuurile, mis käitub just nii, ei ole, see on struktuuride põhiolemus.

package main

import "fmt"

type Point struct {
	X, Y int
}

func modifyPoint(p Point) {
	// Muudame koopiat p, mitte algset struktuuri
	p.X = 10
	p.Y = 20
	fmt.Printf("Funktsiooni sees: %v\n", p)
}

func main() {
	pt := Point{X: 1, Y: 2}
	fmt.Printf("Enne funktsiooni kutsumist: %v\n", pt)
	modifyPoint(pt)
	fmt.Printf("Pärast funktsiooni kutsumist: %v\n", pt) // pt jäi muutumatuks
}