如何确定类型是否为结构体

编程入门 行业动态 更新时间:2024-10-20 09:30:42
本文介绍了如何确定类型是否为结构体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

假设我有 2 个结构:

Suppose I have 2 structs:

type Base struct { id int name string } type Extended struct { Base Email string Password string }

我想反映扩展结构以获取它的字段:

And i want to reflect the Extended struct to get it's field :

e := Extended{} e.Email = "me@mail" e.Password = "secret" for i := 0 ; i < reflect.TypeOf(e).NumField() ; i++ { if reflect.TypeOf(e).Field(i) != "struct" { << how to do this validation? fmt.Println(reflect.ValueOf(e).Field(i)) } }

推荐答案

只需检查 Kind() of Value

Just check the Kind() of Value

if reflect.ValueOf(e).Field(i).Kind() != reflect.Struct { fmt.Println(reflect.ValueOf(e).Field(i)) }

更多推荐

如何确定类型是否为结构体

本文发布于:2023-11-29 17:14:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1647059.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:类型   结构

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!