在Go语言中,有以下几种方法可以给指针赋值:
=
运算符直接将一个变量的地址赋给指针变量。例如:var x int = 10
var ptr *int
ptr = &x
new()
函数:new()
函数会为指定类型的变量分配内存,并返回指向该内存地址的指针。例如:ptr := new(int)
*ptr = 10
&
:可以使用&
运算符获取一个变量的地址,并将其赋给指针变量。例如:var x int = 10
var ptr *int
ptr = &x
make()
函数(仅限于切片、映射和通道):对于切片、映射和通道类型,可以使用make()
函数来创建并初始化一个指针变量。例如:var ptr *[]int
ptr = new([]int)
*ptr = make([]int, 5)
这些方法都可以用来给指针变量赋值,选择使用哪种方法取决于具体的需求和情况。