在 Go 中,您可以将一种结构类型嵌入到另一种结构类型中。这允许您重用嵌入结构中的字段,而不必在外部结构中再次定义它们。
考虑以下示例:
这里,MyRequest 结构嵌入了 http.请求结构。这意味着 http.Request 的任何字段都可以作为 MyRequest 的字段进行访问。另外,MyRequest 有自己的 PathParams 字段。
要在 New 函数中初始化匿名内部结构体 http.Request,需要设置相应的字段。您可以通过两种方式执行此操作:
复合文字语法允许您创建结构体的新实例并在一行中初始化其字段。在本例中,我们创建一个新的 MyRequest 实例并将其 PathParams 字段设置为 pathParams 参数的值。我们还将 Request 字段设置为 origRequest 参数的值。
指针接收器语法允许您直接访问结构体指针的字段。在本例中,我们创建一个指向 MyRequest 实例的新指针,并直接设置其 PathParams 和 Request 字段。
这两种方法都将使用 MyRequest 结构中的内部结构 http.Request 的值进行初始化origRequest 参数。
有关嵌入以及字段如何命名的更多信息,请参阅 Go 规范: http://golang.org/ref/spec#Struct_types。
以上是如何在 Go 结构中嵌入 `net/http.Request` ?的详细内容。更多信息请关注PHP中文网其他相关文章!