gpt4 book ai didi

go - 为什么字段部分没有嵌入

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

我有以下结构

package router

import (
"io"
"net/http"
"townspeech/components/i18n"
"townspeech/components/policy"
"townspeech/components/session"
"townspeech/controllers/base"
"townspeech/types"
)

type sidHandler struct {
req *http.Request
res http.ResponseWriter
handler sidFuncHandler
section string
err *types.ErrorJSON
sess *session.Sid
}

我想嵌入另一个结构,如:

package router

import (
"net/http"
"townspeech/types"
"townspeech/components/session"
"townspeech/controllers/base"
)

type authHandler struct {
sidHandler
handler authFuncHandler
auth *session.Auth
}

以及使用 authHandler 结构的函数:

func registerAuthHandler(handler authFuncHandler, section string) http.Handler {
return &authHandler{handler: handler, section: section}
}

编译器提示:

# app/router
../../../router/funcs.go:9: unknown authHandler field 'section' in struct literal
FAIL app/test/account/validation [build failed]

如你所见,这两个结构在同一个包中,字段部分不应显示为私有(private)。
我做错了什么?

最佳答案

嵌入不适用于这样的文字。

func registerAuthHandler(handler authFuncHandler, section string) http.Handler {
return &authHandler{
handler: handler,
sidHandler: sidHandler{section: section},
}
}

关于go - 为什么字段部分没有嵌入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29683047/

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