go語言學習筆記——指標
阿新 • • 發佈:2022-04-01
1、指標的定義
func newPoint() { var a int = 10 //定義整數型指標 var p *int //此時出現nullpoint,因為p不知道指向的記憶體地址 fmt.Println(p) //同樣報錯,p沒有指向的地址 *p = 67 fmt.Println(*p) p = &a //列印指標p指向的記憶體中儲存的資料 fmt.Println(*p) //列印指標p儲存的地址 fmt.Println(p) //列印整形變數a的地址 fmt.Println(&a) }
2、new函式的使用
func newPoint() { //定義一個整形指標的資料 var p *int //使用new函式,開闢一塊記憶體空間 p = new(int) //將p指向的記憶體空間儲存整數45 *p = 45 }
3、指標變數作為函式引數
//將變數a的記憶體地址傳遞給函式Update,Update函式修改的是指標指向的地址 func testPoint() { var a int = 60 Update(&a) fmt.Println(a) } func Update(a *int) {*a = 90 } //在記憶體中開闢的有兩快地址,地址1存的是a 地址2存的是b //呼叫函式Update時,只是將記憶體b中的資料該了並沒有修改a中儲存的資料 func testPoint() { var a int = 60 Update(a) fmt.Println(a) } func Update(b int) { b = 90 }