亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 GoLang 中的嵌套結構定義創建對象?

從 GoLang 中的嵌套結構定義創建對象?

Go
慕俠2389804 2022-12-13 10:45:24
有沒有辦法從嵌套結構類型創建對象func main() {    car := Car{}    var wheel Car.Wheel}type Car struct {    Wheel struct {        name string    }}我有一個深層嵌套的 json。我有興趣分別對這些嵌套結構中的許多進行操作。我想通過“根”定義訪問結構定義。類似于在 json 中為我的許多嵌套對象Car.Wheel 顯式定義的東西type Wheel struct
查看完整描述

2 回答

?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

有沒有辦法從嵌套結構類型創建對象


不,因為沒有“嵌套結構類型”這樣的東西。你沒有類型Car.Wheel,你有類型Car,有字段Wheel;該字段的類型是未命名的類型struct { name string }。您不能引用未命名的類型;它是未命名的。要引用一個類型,你必須給它命名。你可以這樣做:


var wheel struct { name string }

而且您可以在wheel和之間進行分配Car.Wheel,因為它們是同一類型;然而,這不是特別方便(你必須在你使用它的任何地方寫出完整的類型定義),這意味著你不能在類型上定義任何方法,這可能是也可能不是你關心的限制.


一般來說,在 Go 中,您只想為要使用的每種類型定義一個命名類型,并且這些定義都位于頂層:


type Car struct {

    Wheel Wheel

}


type Wheel struct {

    name string

}


查看完整回答
反對 回復 2022-12-13
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

您是否正在尋找這樣的東西:


package main


import "fmt"


type Car struct {

    model string

    wheel Wheel

}


type Wheel struct {

    name string

}


func main() {

    car := Car{model: "Toyota"}

    car.wheel.name = "my wheel"


    fmt.Println("car model: ", car.model)

    fmt.Println("car wheel name:", car.wheel.name)

}


查看完整回答
反對 回復 2022-12-13
  • 2 回答
  • 0 關注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號