go 指針,new, make

指針

形參若有指針類型,沒有賦值的話,則會報指針為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
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容