gpt4 book ai didi

pointers - 如何共享嵌入式结构指针

转载 作者:IT王子 更新时间:2023-10-29 01:39:43 25 4
gpt4 key购买 nike

我有以下代码:

具有匿名字段的结构 Controller 。

type controller struct {
*base.Controller
store *data
}

如您所见,*base.Controller 是匿名字段指针。然后是第二个由 *base.Controller 组成的结构。

type expiredError struct {
*base.Controller
local string
}

我初始化 Controller 结构如下:

c := &controller{base.New(rw, r, false, "controller/account"), nil}
c.Title = "Activate account"
c.serve()

Controller 上的 base.Controller 是用 base.New() 函数初始化的。

现在我有了 Controller 方法,它初始化了 expiredError 结构,它也应该共享 base.Controller 的指针到 expiredError 的 base.Controller。

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

最佳答案

您可以尝试通过提及父类的实例来引用匿名字段:

rcv.Controller

(因为匿名字段的“名称”与字段类型相同)

查看类似示例:

关于pointers - 如何共享嵌入式结构指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27748718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com