参加官方文档: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思想下的设计方案来实现需求。