Runoob-Go-指標:向函式傳遞指標函式
阿新 • • 發佈:2020-08-24
ylbtech-Runoob-Go-指標:向函式傳遞指標函式 |
1.返回頂部 |
Go 語言指標作為函式引數
Go 語言允許向函式傳遞指標,只需要在函式定義的引數上設定為指標型別即可。
以下例項演示瞭如何向函式傳遞指標,並在函式呼叫後修改函式內的值,:
例項
packagemainimport"fmt"
funcmain(){
/* 定義區域性變數 */
varaint=100
varbint=200
fmt.Printf("交換前 a 的值 : %d\n",a)
fmt.Printf("交換前 b 的值 : %d\n",b)
/* 呼叫函式用於交換值
* &a 指向 a 變數的地址
* &b 指向 b 變數的地址
*/
swap(&a,&b);
fmt.Printf("交換後 a 的值 : %d\n",a)
fmt.Printf("交換後 b 的值 : %d\n",b)
}
funcswap(x*int,y*int){
vartempint
temp=*x /* 儲存 x 地址的值 */
*x=*y /* 將 y 賦值給 x */
*y=temp /* 將 temp 賦值給 y */
}
以上例項允許輸出結果為:
交換前 a 的值 : 100
交換前 b 的值 : 200
交換後 a 的值 : 200
交換後 b 的值 : 100
2、
2.返回頂部 |
3.返回頂部 |
4. 筆記返回頂部 |
以下是一個更簡潔的變數交換例項:
package main
import "fmt"
func main() {
/* 定義區域性變數 */
var a int = 100
var b int= 200
swap(&a, &b);
fmt.Printf("交換後 a 的值 : %d\n", a )
fmt.Printf("交換後 b 的值 : %d\n", b )
}
/* 交換函式這樣寫更加簡潔,也是 go 語言的特性,可以用下,c++ 和 c# 是不能這麼幹的 */
func swap(x *int, y *int){
*x, *y = *y, *x
}
·
以下是一個更更簡潔的變數交換例項:
package main
import "fmt"
func main() {
/* 定義區域性變數 */
var a int = 100
var b int= 200
a, b = b, a
fmt.Printf("交換後 a 的值 : %d\n", a )
fmt.Printf("交換後 b 的值 : %d\n", b )
}
·
5.返回頂部 |
6.返回頂部 |
作者:ylbtech 出處:http://ylbtech.cnblogs.com/ 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。 |