参加官方文档:Type assertions
泛型
可以考虑采用golang新版本中泛型。但是有问题的是,当前golang的泛型支持并不建议用于生产环境。
These new language changes required a large amount of new code that has not had significant testing in production settings.
其他封装方式
可以考虑的是“是否一定需要转换为结构体”。是需要使用特定的方法还是属性值呢?
如果是属性值
- 可以考虑多个结构体进行进行才分,然后继承在使用。
如果是方法
- 可以考虑使用接口来定义。并且使用接口的时候,获取属性值也是可以涵盖的。
即,可以考虑go思想下的设计方案来实现需求。