結構體定義后 , 有三種方式去初始化這個結構體 , 在看一些源碼的時候容易犯迷糊
1. 第一種 new的方式
t := new(T) t現在是指向該結構體的指針 , 是 *T類型
2. 第二種 var的方式
var t T 結構體現在就已經被初始化了 , 是T類型
第三種字面量的方式
t := T{a, b}
t := &T{} //等效於 new(T)
這三種返回的類型是不一樣的 , 注意區分 , 也會表現在內存上的不同
結構體定義后 , 有三種方式去初始化這個結構體 , 在看一些源碼的時候容易犯迷糊
1. 第一種 new的方式
t := new(T) t現在是指向該結構體的指針 , 是 *T類型
2. 第二種 var的方式
var t T 結構體現在就已經被初始化了 , 是T類型
第三種字面量的方式
t := T{a, b}
t := &T{} //等效於 new(T)
這三種返回的類型是不一樣的 , 注意區分 , 也會表現在內存上的不同
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。