Pergi bahasa nilai fungsi nilai transfer
Transfer berarti bahwa ketika Anda memanggil fungsi untuk menyalin parameter yang sebenarnya dilewatkan ke fungsi, sehingga jika parameter fungsi dapat dimodifikasi, tidak akan mempengaruhi parameter yang sebenarnya.
Secara default, bahasa Go dilewatkan oleh nilai, yaitu, saat panggilan tidak akan mempengaruhi parameter yang sebenarnya.
Berikut definisi dari swap () fungsi:
/* 定义相互交换值的函数 */ func swap(x, y int) int { var temp int temp = x /* 保存 x 的值 */ x = y /* 将 y 值赋给 x */ y = temp /* 将 temp 值赋给 y*/ return temp; }
Selanjutnya, mari kita menggunakan nilai yang dikirimkan ke fungsi panggilan swap ():
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; }
Berikut hasil eksekusi kode:
交换前 a 的值为 : 100 交换前 b 的值为 : 200 交换后 a 的值 : 100 交换后 b 的值 : 200