go語言結構體是組織數據的重要方式,但與某些編程語言不同,Go語言不允許直接在結構體定義中為屬性設置默認值。 下圖展示了Go語言結構體定義的示例:
例如,對于以下結構體:
type Person struct { name string age int sex bool hobby []string }
我們無法直接在 Person 結構體定義中為 name、age、sex 和 hobby 設置默認值。
立即學習“go語言免費學習筆記(深入)”;
那么,如何為Go語言結構體屬性設置默認值呢? 答案是通過構造函數來實現。 我們可以創建一個名為 NewPerson 的函數,該函數返回一個 Person 結構體實例,并為其屬性賦予預設的值:
func NewPerson(name string, age int, sex bool, hobby []string) Person { return Person{ name: name, age: age, sex: sex, hobby: hobby, } }
通過調用 NewPerson 函數,我們可以創建一個具有默認值(或自定義值)的 Person 結構體實例:
p := NewPerson("John Doe", 30, true, []string{"reading", "hiking"})
這種方法確保了結構體實例在創建時就具有期望的初始狀態,有效地實現了默認值的功能。 這與直接在結構體定義中設置默認值的效果相同,但符合Go語言的語法規范。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END