【发布时间】:2021-05-12 19:43:20
【问题描述】:
我有一些使用反射来处理结构字段的通用代码。这些字段可能包含也可能不包含通过 Cgo 引用的 C 类型。
我遇到的一个问题是前面提到的那些 C 类型可能是“不完整的结构”,例如:typedef struct unknown u;。这可能会导致稍后在代码中出现恐慌。
理想情况下,我需要能够检查和跳过这样的实例,而不会意外跳过有效字段。
我想过检查 Type.Size() 返回的值是否为 0,但空的 Go 结构将返回相同的值。
有没有办法做到这一点?
【问题讨论】:
-
你不会也跳过 Go 空结构吗?
-
@Adrian 在我的情况下,不一定