首頁 >後端開發 >Golang >如何在 Go 中初始化嵌入式結構體?

如何在 Go 中初始化嵌入式結構體?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-11 01:30:02598瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn