在结构中引用自己

假设我有一个像这样的结构类型:


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 类型上的一个方法。这样做的语法正确的方法是什么?




慕码人8056858
浏览 169回答 1
1回答

湖上湖

你不能在它自己的声明中引用一个值。需要先初始化值,然后才能将要使用的方法赋值给Handler。testAuth := &Authorization{    Username: "someusername",    Password: "somepassword",}testAuth.Handler = testAuth.HandleFuncauths := Authorizations{    "test": testAuth,}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go