指針
形參若有指針類型,沒有賦值的話,則會報指針為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
}