Go 語言指向指針的指針
如果一個指針變數存放的又是另一個指針變數的地址,則稱這個指針變數為指向指針的指針變數。
當定義一個指向指針的指針變數時,第一個指針存放第二個指針的地址,第二個指針存放變數的地址:

指向指針的指針變數聲明格式如下:
var ptr **int;
以上指向指針的指針變數為整型。
訪問指向指針的指針變數值需要使用兩個 * 號,如下所示:
package main
import "fmt"
func main() {
var a int
var ptr *int
var pptr **int
a = 3000
/* 指針 ptr 地址 */
ptr = &a
/* 指向指針 ptr 地址 */
pptr = &ptr
/* 獲取 pptr 的值 */
fmt.Printf("變數 a = %d\n", a )
fmt.Printf("指針變數 *ptr = %d\n", *ptr )
fmt.Printf("指向指針的指針變數 **pptr = %d\n", **pptr)
}
以上實例執行輸出結果為:
變數 a = 3000 指針變數 *ptr = 3000 指向指針的指針變數 **pptr = 3000

Go 指針