var response Response
switch wrapper.Domain {
case "":
response = new(TypeA)
case "TypeB":
response = new(TypeB)
case "TypeC":
response = new(TypeC)
case "TypeD":
response = new(TypeD)
}
_ = decoder.Decode(response)
如代码片段所示,我从 的字段中获得了足够的信息来确定响应的类型,并且对于每种类型,都执行以下操作:Domainwrapper
使用创建该类型的新实例new
使用解码器将字节切片解码为在步骤1中创建的实例,我想知道是否有办法使第一步更加通用并摆脱switch语句。
翻过高山走不出你
相关分类