1. 程式人生 > 其它 >go語言學習筆記——指標

go語言學習筆記——指標

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 }