Go语言中的指针是一种特殊的变量,它存储了另一个变量的内存地址。Go语言中使用指针可以直接操作内存,具有方便、快捷的特点。
通过在变量前面加上&符号可以获取变量的内存地址。例如:
var a int = 10
var ptr *int
ptr = &a
这段代码定义了一个整型变量a并赋值为10,然后定义了一个指向整型变量的指针ptr,并将a的内存地址赋值给ptr。
可以通过解引用(*)符号访问指针所指向的内存地址中存储的变量值。例如:
fmt.Printf("变量a的值为:%d\n", a )
fmt.Printf("变量a的地址为:%x\n", &a )
fmt.Printf("指针变量ptr存储的地址为:%x\n", ptr )
fmt.Printf("指针变量ptr指向的值为:%d\n", *ptr )
这段代码会输出变量a的值、内存地址、指针变量ptr存储的地址以及指针变量ptr所指向的变量的值。
需要注意的是,Go语言中的指针不支持运算符“++”和“--”,同时指针也不能进行数组的操作。