Go では、参照の受け渡しは参照型の変数を渡すときに発生します。* 記号は参照型を表します。参照型変数を渡す場合、実際に渡されるのは元の値を指すアドレスであり、参照型変数を変更すると元の値に影響を与えます。
#Go 言語での参照による受け渡しについて理解する
はじめに
Go 言語ででは、変数には値型と参照型の 2 種類の値を格納できます。値型は実際の値を格納し、参照型は実際の値を指すアドレスを格納します。参照渡しは、参照型の変数が渡されるときに発生します。参照受け渡しの基礎知識
Go 言語では、# 記号を使用して参照型を表します。例:
type Point struct { x int y int } func main() { var p1 = Point{1, 2} }上記のコードでは、
p1 は
Point 構造体への参照です。参照型の変数を渡すときは、実際にはアドレスを元の値に渡していることになります。
実際的なケース
次の例を考えてみましょう:func changePoint(p *Point) { p.x = 10 p.y = 20 } func main() { var p1 = Point{1, 2} changePoint(&p1) fmt.Println(p1) // 输出:{10 20} }
changePoint 関数では、ポインタを介してペアを受け取ります。
Point 構造体への参照。次に、ポインター参照の実際の値を変更します。元の値を変更したため、
main 関数で
p1 を出力すると、更新された値が表示されます。
注意
以上がGo 言語での参照による受け渡しを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。