Go語言結構體屬性能否直接設置默認值?

go語言結構體屬性默認值設置詳解

go語言結構體是組織數據的重要方式,但與某些編程語言不同,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
喜歡就支持一下吧
點贊7 分享