在Golang中,指针可以用来引用变量的内存地址。要声明一个指针,可以使用*
符号,例如:
var x int = 10
var ptr *int // 定义一个int类型的指针
ptr = &x // 将x的内存地址赋值给ptr
要访问指针指向的值,可以使用*
符号来解引用指针,例如:
fmt.Println(*ptr) // 输出指针ptr所指向的值
还可以通过指针来修改变量的值,例如:
*ptr = 20 // 修改ptr所指向的值
fmt.Println(x) // 输出x的值,现在为20
需要注意的是,在Golang中,指针的零值是nil
,所以在声明指针时,如果没有给指针赋值,它的值会是nil
。另外,Golang中也提供了new
函数来创建指针并初始化为零值,例如:
ptr := new(int) // 创建一个int类型的指针并初始化为零值
*ptr = 5 // 给指针所指向的变量赋值
fmt.Println(*ptr) // 输出5