下面的程序是指针的咖喱。 intVar的值等于** pointerToPointerVar的值。
package main import "fmt" func main() { var intVar int var pointerVar *int var pointerToPointerVar **int intVar = 100 pointerVar = &intVar pointerToPointerVar = &pointerVar fmt.Println("\n") fmt.Println("intVar:\t\t\t", intVar) fmt.Println("pointerVar:\t\t", pointerVar) fmt.Println("pointerToPointerVar:\t", pointerToPointerVar) fmt.Println("\n") fmt.Println("&intVar:\t\t", &intVar) fmt.Println("&pointerVar:\t\t", &pointerVar) fmt.Println("&pointerToPointerVar:\t", &pointerToPointerVar) fmt.Println("\n") fmt.Println("*pointerVar:\t\t", *pointerVar) fmt.Println("*pointerToPointerVar:\t", *pointerToPointerVar) fmt.Println("**pointerToPointerVar:\t", **pointerToPointerVar) }
C:\golang\codes>go run example.go
整数:100
指针变量:0x1142214c
pointerToPointerVar:0x114240e0
&intVar:0x1142214c
&pointerVar:0x114240e0
&pointerToPointerVar:0x114240e8
*指针变量:100
* pointerToPointerVar:0x1142214c
** pointerToPointerVar:100
C:\golang\codes>
整数:100
指针变量:0x1142214c
pointerToPointerVar:0x114240e0
&intVar:0x1142214c
&pointerVar:0x114240e0
&pointerToPointerVar:0x114240e8
*指针变量:100
* pointerToPointerVar:0x1142214c
** pointerToPointerVar:100
C:\golang\codes>