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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用 reflect in go 從結(jié)構(gòu)子字段中獲取項(xiàng)目數(shù)

如何使用 reflect in go 從結(jié)構(gòu)子字段中獲取項(xiàng)目數(shù)

婷婷同學(xué)_ 2023-02-06 10:35:13
reflect通過(guò)包從切片結(jié)構(gòu)中的子字段獲取項(xiàng)目數(shù)時(shí),我遇到了一些問(wèn)題。這就是我試圖從中獲取項(xiàng)目數(shù)量的方式Itemsfunc main() {  type Items struct {      Name    string `json:"name"`      Present bool   `json:"present"`  }  type someStuff struct {      Fields string     `json:"fields"`      Items    []Items `json:"items"`  }  type Stuff struct {      Stuff []someStuff `json:"stuff"`  }  some_stuff := `{                  "stuff": [                     {                       "fields": "example",                       "items": [                         { "name": "book01", "present": true },                         { "name": "book02", "present": true },                         { "name": "book03", "present": true }                                                               ]                     }                   ]                }`  var variable Stuff  err := json.Unmarshal([]byte(some_stuff), &variable)  if err != nil {      panic(err)  }  //I want to get the number of items in my case 3  NumItems := reflect.ValueOf(variable.Stuff.Items)}這是錯(cuò)誤:variable.Items undefined (type []Stuff has no field or method Items)我不確定我是否可以檢索到這樣的項(xiàng)目數(shù)量。
查看完整描述

1 回答

?
慕田峪7331174

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊

我已經(jīng)解決了這個(gè)問(wèn)題。


為了獲得子字段的數(shù)量,我們可以使用Len()from reflect.ValueOf。


現(xiàn)在的代碼正在獲取項(xiàng)目的數(shù)量:


package main


import (

    "encoding/json"

    "fmt"

    "reflect"

)


func main() {


    type Items struct {

        Name    string `json:"name"`

        Present bool   `json:"present"`

    }


    type someStuff struct {

        Fields string  `json:"fields"`

        Items  []Items `json:"items"`

    }


    type Stuff struct {

        Stuff []someStuff `json:"stuff"`

    }


    some_stuff := `{

                  "stuff": [

                     {

                       "fields": "example",

                       "items": [

                         { "name": "book01", "present": true },

                         { "name": "book02", "present": true },

                         { "name": "book03", "present": true }                                        

                       ]

                     }

                   ]

                }`


    var variable Stuff


    err := json.Unmarshal([]byte(some_stuff), &variable)

    if err != nil {

        panic(err)

    }


    //I want to get the number of items in my case 3

    t := reflect.ValueOf(variable.Stuff[0].Items)

    fmt.Println(t.Len())


}


Output: 3


查看完整回答
反對(duì) 回復(fù) 2023-02-06
  • 1 回答
  • 0 關(guān)注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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