Sobes.tech
Junior

Ինչ է կոչվում Go-ում այն կառուցվածքը, որը պատճենում է տվյալները փոխանցման ժամանակ?

sobes.tech AI

Պատասխան 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 մնաց անփոփոխ
}