指针和引用均用于间接访问变量:指针指向变量地址,直接访问变量。引用是别名,存储指向变量的指针,间接访问变量。指针用 * 定义和取消引用,修改指针会影响变量。引用用 & 获取地址,* 引用地址,修改引用不影响变量。指针可指向任何变量,包括指针;引用只能指向变量。
Golang 指针和引用
指针和引用之间的区别
指针和引用都是 Golang 中用于间接访问变量的机制。主要区别在于:
指针
*
符号定义和取消引用指针。引用
&
符号获取变量的地址,使用 *
符号引用已获取的地址。示例
<code class="go">package main import "fmt" func main() { // 创建一个变量 x := 10 // 创建一个指向 x 的指针 p := &x // 创建一个引用 x 的引用 q := &x // 通过指针修改变量 *p = 20 // 引用不会影响变量 *q++ // 打印结果 fmt.Println("x:", x) // 输出: 20 }</code>
在这个示例中:
p
是一个指向 x
的指针,对 *p
的修改会更新 x
的值。q
是指向 x
的引用,对 *q
的修改不会更新 x
的值。以上是golang 指针和引用区别的详细内容。更多信息请关注PHP中文网其他相关文章!