使用提供一個New函數的方當,來構造一個構造函數
構造函數是一種特殊的方法,主要用來在創建對象時初始化對象,即為對象成員變量賦初始值。特別的一個類可以有多個構造函數 ,可根據其參數個數的不同或參數類型的不同來區分它們,即構造函數的重載。
Golang里面沒有構造函數,但是Golang卻可以像C++一樣實現類似繼承、構造函數一樣等面向對象編程的思想和方法。Golang里面要實現相關的構造函數定義可以通過通過new來創建構造函數。
一個簡單的構造函數的實現
定義一個結構
type ContentMsg struct {
EffectId int `json:"effect_id"`
Text string `json:"text"`
Data interface{} `json: "data"`
}
通過new一個對象,或者利用Golang本身的&方式來生成一個對象并返回一個對象指針:
func NewContentMsg(data, effectId int) *ContentMsg {
instance := new(ContentMsg)
instance.Data = data
instance.EffectId = effectId
return instance
}
func NewContentMsgV2(data, effectId int) *ContentMsg {
return &ContentMsg{
Data: data,
EffectId: effectId,
}
}