Go中分配原語:new

衣舞晨風發表於2017-11-15

    Go中的new,是一個用來分配記憶體的內建函式,但是不像在其它語言中,它並不初始化記憶體,只是將其置零。也就是說,new(T)會為T型別的新專案,分配被置零的儲存,並且返回它的地址,一個型別為*T的值。在Go的術語中,其返回一個指向新分配的型別為T,值為零的指標。

    由於new返回的記憶體是被置零的,這會有助於你將資料結構設計成,每個型別的零值都可以使用,而不需要進一步初始化。這意味著,資料結構的使用者可以使用new來建立資料,並正確使用。

這裡寫圖片描述

當結構中有指標,比如下面:

type Cert struct {
    ....
    Subject *PkixName `json:"subject,omitempty"`
}

指標會被初始化為nil,這個需要注意
這裡寫圖片描述

個人微信公眾號:
這裡寫圖片描述

作者:jiankunking 出處:http://blog.csdn.net/jiankunking

相關文章