У меня есть следующий код:Как поделиться встроенным указателем структуры
Контроллер структуры, у которого есть анонимные поля.
type controller struct {
*base.Controller
store *data
}
Как вы можете видеть, * base.Controller - это указатель на анонимные поля. Затем вторая структура, состоящая из * base.Controller.
type expiredError struct {
*base.Controller
local string
}
Я инициализации контроллера-структуру следующим образом:
c := &controller{base.New(rw, r, false, "controller/account"), nil}
c.Title = "Activate account"
c.serve()
base.Controller на контроллере инициализации с base.New функции().
Теперь у меня есть методы контроллера, которые инициализируют структуру expiredError и должны делиться указателем base.Controller на base.Controller expiredError тоже.
func (rcv *controller) validate() error {
....
// If time for activating account is expired
if time.Now().Unix() > rcv.store.Expired {
// Delete registered user from neo4j
maccount.Delete(rcv.store.Email, rcv.Local)
return &expiredError{base.Controller, rcv.Local}
}
return nil
}
У меня здесь ошибка компилятора
type base.Controller is not an expression
'тип base.Controller не является выражением', означает, что вам нужен экземпляр чего-то, а не тип. – JimB