Go语言中的指针
Go语言中不存在指针操作,只需要记住两个符号
&:取地址
:根据地址取值
取地址操作符&和根据地址取值操作符,是一对互补的操作
1.对变量进行取地址操作,可以获得变量的指针
2.指针变量的值是指针
3.对指针变量进行取值操作,可以获得指针变量指向的原变量的值
new和make
Go语言中对于引用类型的变量,我们在使用的时候需,不仅要声明,还要分配内存空间,否则我们的值没有办法存储,而对于值类型的变量就不需要分配内存,因为我们在声明的时候,已经分配好了内存,要分配内存就引出了new和make
make也是用来分配内存的,但区别与new,它只用于slice,map和chan的内存创建。而他返回的类型,就是三个类型的本身,而不是指针,因为三种类型已经是引用类型了,没必要返回指针
package main
import "fmt"
func main() {
a := 1
fmt.Println(&a)
b := new(int)
fmt.Printf("%v--%d\n", b, *b)
slice := make([]int, 0)
fmt.Printf("%v\n", slice)
}