Sobes.tech
Junior

Jak nazywa się struktura w Go, która kopiuje dane podczas przekazywania?

sobes.tech AI

Odpowiedź od AI

W Go, struktura przy przekazywaniu zawsze kopiuje swoje dane. Nie ma specjalnej nazwy dla struktury, która zachowuje się dokładnie tak, jest to podstawowa właściwość struktur.

package main

import "fmt"

type Point struct {
	X, Y int
}

func modifyPoint(p Point) {
	// Modyfikujemy kopię p, a nie oryginalną strukturę
	p.X = 10
	p.Y = 20
	fmt.Printf("Wewnątrz funkcji: %v\n", p)
}

func main() {
	pt := Point{X: 1, Y: 2}
	fmt.Printf("Przed wywołaniem funkcji: %v\n", pt)
	modifyPoint(pt)
	fmt.Printf("Po wywołaniu funkcji: %v\n", pt) // pt pozostał bez zmian
}