Struct 在结构中引用您自己
假设我有一个结构类型,如下所示:Struct 在结构中引用您自己,struct,go,Struct,Go,假设我有一个结构类型,如下所示: type Authorization struct { Username string Password string Handler func(http.HandlerFunc) http.HandlerFunc } 我有一系列这些: type Authorizations map[string]*Authorization 我希望能够做到以下几点: var auth = Authorizations{ "test": *
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(显然不起作用)是授权类型上的一个方法。语法上正确的方法是什么?不能在自己的声明中引用值。您需要首先初始化该值,然后才能将要使用的方法分配给处理程序
testAuth := &Authorization{
Username: "someusername",
Password: "somepassword",
}
testAuth.Handler = testAuth.HandleFunc
auths := Authorizations{
"test": testAuth,
}
不能在自己的声明中引用值。您需要首先初始化该值,然后才能将要使用的方法分配给处理程序
testAuth := &Authorization{
Username: "someusername",
Password: "somepassword",
}
testAuth.Handler = testAuth.HandleFunc
auths := Authorizations{
"test": testAuth,
}