Обратите внимание на структуру вашей структуры
type TestController struct {
Account *AccountController
}
Учетная запись является указателем.Он инициализируется до nil
, поэтому, если вы никогда не установите его, чтобы указывать на что-то, он всегда будет равен нулю, и вы получите ошибку разыменования нулевого указателя при попытке вызвать метод для него, подобный этому
// c *TestController
c.Account.ActiveAccountID()
Как / когда вы устанавливаете его, зависит от вашего варианта использования.
Также в зависимости от вашего варианта использования вы можете изменить его с указателя на встроенную структуру
type TestController struct {
Account AccountController
}
Таким образом, этовсегда внутри структуры, но если вы назначите ее откуда-то еще, она будет скопирована.В зависимости от вашего варианта использования это может быть нежелательно.