首页 > 后端开发 > Golang > 如何在 Go 中初始化嵌入式结构体?

如何在 Go 中初始化嵌入式结构体?

Mary-Kate Olsen
发布: 2024-11-11 01:30:02
原创
595 人浏览过

How to Initialize Embedded Structs in Go?

理解 Go 中的嵌入式结构体初始化

Go 提供了嵌入的概念,允许结构体包含其他类型的字段,而无需重复其实现。在嵌入结构的上下文中,初始化匿名内部结构成为一项重要任务。

在 MyRequest 中初始化匿名内部结构

考虑以下代码片段,其中 MyRequest 结构嵌入了 http.Request struct:

type MyRequest struct {
    http.Request
    PathParams map[string]string
}
登录后复制

要在 New 函数中初始化匿名内部结构体 http.Request,可以按照以下方法操作:

  • 使用 new 关键字:
req := new(MyRequest)
req.PathParams = pathParams
req.Request = origRequest
登录后复制
  • 使用结构体语法:
req := &MyRequest{
  PathParams: pathParams
  Request: origRequest
}
登录后复制

两种方法都实现了初始化 http 的相同目标.MyRequest 结构体的请求字段,带有提供的 origRequest 参数。

参考

要更深入地了解结构体中的嵌入和字段命名,请参阅 Go 官方文档:

  • https://golang.org/ref/spec#Struct_types

以上是如何在 Go 中初始化嵌入式结构体?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板