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

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

是否可以使用反射來做類似于類型開關(guān)的事情?

是否可以使用反射來做類似于類型開關(guān)的事情?

Go
蝴蝶刀刀 2021-11-08 10:04:38
我需要根據(jù)所反映的值的類型做不同的事情。value := reflect.ValueOf(someInterface)我想做一些具有以下效果的事情:if <type of value> == <type1> {    do something} else if <type of value> == <type2> {    do something}這類似于 go 代碼中的類型切換。
查看完整描述

1 回答

?
嚕嚕噠

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

如果您要遍歷結(jié)構(gòu)體的字段,則可以使用類型開關(guān)根據(jù)字段的類型執(zhí)行不同的操作:


value := reflect.ValueOf(s)

for i := 0; i < value.NumField(); i++ {

    field := value.Field(i)

    if !field.CanInterface() {

        continue

    }

    switch v := field.Interface().(type) {

    case int:

        fmt.Printf("Int: %d\n", v)

    case string:

        fmt.Printf("String: %s\n", v)

    }

}

https://play.golang.org/p/-B3PWMqWTo


查看完整回答
反對 回復(fù) 2021-11-08
  • 1 回答
  • 0 關(guān)注
  • 174 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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