言語関数値の転送値を行きます
転送は、あなたが、関数に渡される実際のパラメータをコピーする関数を呼び出すとき、関数のパラメータを変更することができれば、実際のパラメータに影響を与えないようにすることを意味します。
呼び出しが実際のパラメータには影響しません時にデフォルトでは、囲碁の言語は、つまり、値によって渡されます。
スワップ()関数の次の定義:
/* 定义相互交换值的函数 */ func swap(x, y int) int { var temp int temp = x /* 保存 x 的值 */ x = y /* 将 y 值赋给 x */ y = temp /* 将 temp 值赋给 y*/ return temp; }
次に、私たちは通話スワップ()関数に渡された値を使用してみましょう:
package main import "fmt" func main() { /* 定义局部变量 */ var a int = 100 var b int = 200 fmt.Printf("交换前 a 的值为 : %d\n", a ) fmt.Printf("交换前 b 的值为 : %d\n", b ) /* 通过调用函数来交换值 */ swap(a, b) fmt.Printf("交换后 a 的值 : %d\n", a ) fmt.Printf("交换后 b 的值 : %d\n", b ) } /* 定义相互交换值的函数 */ func swap(x, y int) int { var temp int temp = x /* 保存 x 的值 */ x = y /* 将 y 值赋给 x */ y = temp /* 将 temp 值赋给 y*/ return temp; }
次のコードの実行結果:
交换前 a 的值为 : 100 交换前 b 的值为 : 200 交换后 a 的值 : 100 交换后 b 的值 : 200