Назад к вопросам
Junior
987
questionbank

Как называется структура в Go, которая копирует данные при передаче?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech 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 остался без изменений
}