Go で関数を呼び出すには、値を渡す方法と参照を渡す方法の 2 つがあります。値渡しでは、元の変数の値に影響を与えることなく、変数のコピーが関数に渡されます。参照渡しでは、変数のアドレスが関数に渡され、変更は元の変数の値に影響します。実際の戦闘では、Add 関数は値の受け渡しを使用し、Multiply 関数は参照の受け渡しを使用して、さまざまな方法で変数の値を変更します。
Go 言語では、関数呼び出しは値の受け渡しと参照の受け渡しという 2 つの方法で実装できます。
値の受け渡しは、変数の コピー を関数に渡します。つまり、関数内で変更を加えても、元の変数の値には影響しません。
package main import "fmt" func add(x int) int { x++ // 修改 x 的副本 return x } func main() { y := 5 newY := add(y) // 传递 y 的副本 fmt.Println(newY) // 输出 6 fmt.Println(y) // 输出 5 }
参照渡しは変数の アドレス を関数に渡します。つまり、関数内で変数を変更すると値に影響します。元の変数の。
package main import "fmt" func add(x *int) { *x++ // 修改 x 指向的值 } func main() { y := 5 add(&y) // 传递 y 的地址 fmt.Println(y) // 输出 6 }
次のコードでは、Add
と Multiply
という 2 つの関数を定義します。 Add
は値によって渡され、Multiply
は参照によって渡されます。
以上がgolang関数の呼び出し方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。