day02 Go 指標和引數傳遞
阿新 • • 發佈:2018-11-10
1、什麼是指標
一個指標變數指向了一個值的記憶體地址。
類似於變數和常量,在使用指標前你需要宣告指標。指標宣告格式如下:
var var_name *var-type
var-type 為指標型別,var_name 為指標變數名,* 號用於指定變數是作為一個指標。以下是有效的指標宣告:
var ip *int /* 指向整型*/ var fp *float32 /* 指向浮點型 */
2、注意
- 不同於c語言,go的指標不能參與運算
- go 只有值傳遞,沒有引用傳遞
3、例項
package main import ( "fmt" ) //引數為指標型別 func swap (a,b *int) { *a ,*b = *b ,*a } func switchNum (a,b int) (int,int) { return b,a } func main () { // 指標修改變數值 var a = 5 var pa *int = &a *pa = 6 fmt.Println(a) // 只傳遞x,y的地址 x,y := 4,5 swap(&x,&y) fmt.Println(x,y) // 變數對調 c,d := 1,2 c,d = switchNum(c,d) fmt.Println(c,d) }