Go 提供了嵌入的概念,允许结构体包含其他类型的字段,而无需重复其实现。在嵌入结构的上下文中,初始化匿名内部结构成为一项重要任务。
考虑以下代码片段,其中 MyRequest 结构嵌入了 http.Request struct:
type MyRequest struct { http.Request PathParams map[string]string }
要在 New 函数中初始化匿名内部结构体 http.Request,可以按照以下方法操作:
req := new(MyRequest) req.PathParams = pathParams req.Request = origRequest
req := &MyRequest{ PathParams: pathParams Request: origRequest }
两种方法都实现了初始化 http 的相同目标.MyRequest 结构体的请求字段,带有提供的 origRequest 参数。
要更深入地了解结构体中的嵌入和字段命名,请参阅 Go 官方文档:
以上是如何在 Go 中初始化嵌入式结构体?的详细内容。更多信息请关注PHP中文网其他相关文章!