dongnue2071 2012-09-21 12:06
浏览 64
已采纳

在Go中初始化嵌入式结构

I have the following struct which contains a net/http.Request:

type MyRequest struct {
    http.Request
    PathParams map[string]string
}

Now I want to initialize the anonymous inner struct http.Request in the following function:

func New(origRequest *http.Request, pathParams map[string]string) *MyRequest {
    req := new(MyRequest)
    req.PathParams = pathParams
    return req
}

How can I initialize the inner struct with the parameter origRequest?

  • 写回答

3条回答 默认 最新

  • dongmei9020 2012-09-21 12:38
    关注

    What about:

    func New(origRequest *http.Request, pathParams map[string]string) *MyRequest {
            return &MyRequest{*origRequest, pathParams}
    }
    

    It shows that instead of

    New(foo, bar)
    

    you might prefer just

    &MyRequest{*foo, bar}
    

    directly.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?