Как правильно написать процедуру инициализации для структуры
Имею такую структуру на GoLang, исходя из данных JSON
type Account struct {
User struct {
Login string `json:"login"`
Password string `json:"password"`
VillageName string `json:"VillageName"`
Vert int `json:"vert"`
Gor int `json:"gor"`
Weater int `json:"weater"`
Resources []int `json:"resources"`
Buildings []struct {
Vert int `json:"vert"`
Gor int `json:"gor"`
BuildingID int `json:"building_id,omitempty"`
BuildingLevel int `json:"building_level"`
Building int `json:"building,omitempty"`
} `json:"buildings"`
} `json:"user"`
}
Нужна помощь в написании процедуры инициализации, потому что при создании, все поля должны быть заполнены не nil. И не до конца понимаю как быть с инициализацией других вложенных структур. Объясните пожалуйста, в GoLang новичок
Ответы (1 шт):
В go нет понятия конструктора. Но сложился обычай называеть функции, создающие структуры Name как NewName
То есть вам нужно написать функцию NewAccount, которая инициализирует поля структуры. Набор аргументов зависит от вас. Просто имейте в виду, что в go нет перегрузки функций, поэтому если вам нужен конструктор по умолчанию, то его следует назвать DefaultAccount (нужно сказать, что это правило именования менее распространено, чем New).