指针
形参若有指针类型,没有赋值的话,则会报指针为nil
type Person struct {
}
func getName() (resultList *Person, err error) {
resultList = new(Person)//需要声明,否则报nil
}
new
new可以分配任意类型的数据
new分配返回的是指针
new分配的空间被清零
type Person struct {}
func main() {
p := new(Person)
//p已经是指针了
}
make
make只能用来分配及初始化类型为slice,map,chan的数据
make分配后,会进行初始化
func main(){
list := make([]int, 0) //切片
mp := make(map[int]interface{}, 10) //缓冲长度为10的map
ch := make(chan int, 0) //chan
}