假设我有一个像这样的结构类型:
type Authorization struct {
Username string
Password string
Handler func(http.HandlerFunc) http.HandlerFunc
}
我有一个这样的数组:
type Authorizations map[string]*Authorization
我希望能够做这样的事情:
var auth = Authorizations{
"test": *Authorization{
"someusername",
"somepassword",
self.BasicAuth,
},
}
假设self.BasicAuth(显然不起作用)是Authorization类型的方法。语法上正确的方法是什么?
最佳答案
您不能在其自己的声明中引用值。您需要先初始化该值,然后才能将要使用的方法分配给Handler。
testAuth := &Authorization{
Username: "someusername",
Password: "somepassword",
}
testAuth.Handler = testAuth.HandleFunc
auths := Authorizations{
"test": testAuth,
}
关于struct - 在结构内部引用自己,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30903721/