第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Golang打印結(jié)構(gòu)總是報undefined

Golang打印結(jié)構(gòu)總是報undefined

Go
12345678_0001 2022-12-13 16:18:24
這是我定義的結(jié)構(gòu)——從 json 到 Go struct 工具生成:type NYTimesNews struct {    Data struct {        LegacyCollection struct {            CollectionsPage struct {                Stream struct {                    Edges []struct {                        Node struct {                            FirstPublished string `json:"firstPublished"`                            Headline       struct {                                Default string `json:"default"`                            } `json:"headline"`                            Summary string `json:"summary"`                            URL     string `json:"url"`                        } `json:"node"`                    } `json:"edges"`                } `json:"stream"`            } `json:"collectionsPage"`        } `json:"legacyCollection"`    } `json:"data"`}當(dāng)我在 Nodes 層迭代我的請求響應(yīng)時,一切正常并且可以打印出來,下面是打印出 Edges 數(shù)組中所有 Nodes 的代碼  for i, Node:= range data.Data.LegacyCollection.CollectionsPage.Stream.Edges{      // fmt.Printf("[%d] \n %s \n", i, Node)      fmt.Printf("[%d] \n %s \n %s\n", i, reflect.TypeOf(Node),Node)  } 但是當(dāng)我嘗試訪問節(jié)點結(jié)構(gòu)中的單個字段時發(fā)生錯誤修改后的代碼:  for i, Node:= range data.Data.LegacyCollection.CollectionsPage.Stream.Edges{    fmt.Printf("[%d] \n %s \n %s -------- \n\n", i, reflect.TypeOf(Node), Node.FirstPublished)    break  }輸出./getdata-url-nytimes.go:92:80: Node.FirstPublished undefined (type struct{Node struct{FirstPublished string "json:"firstPublished""; Headline struct{Default string "json:"default""} "json :"headline""; 摘要字符串 "json:"summary""; URL 字符串 "json:"url""} "json:"node""} 沒有字段或方法 FirstPublished)當(dāng)我使用'doc fieldname'打印 Go 結(jié)構(gòu)中的字段時出現(xiàn)什么問題?
查看完整描述

1 回答

?
鴻蒙傳說

TA貢獻1865條經(jīng)驗 獲得超7個贊

您命名了循環(huán)變量Node,但它真正包含的是一個 struct 類型Edge。是您迭代的集合中.Node每個的屬性。Edge您需要.Node像這樣通過邊緣的字段訪問它:


  for i, edge:= range data.Data.LegacyCollection.CollectionsPage.Stream.Edges{

    fmt.Printf("[%d] \n %s \n %s -------- \n\n", i, reflect.TypeOf(edge.Node), edge.Node.FirstPublished)

    break

  }


查看完整回答
反對 回復(fù) 2022-12-13
  • 1 回答
  • 0 關(guān)注
  • 363 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號