【发布时间】:2021-03-19 14:05:23
【问题描述】:
我有一个带有接口的函数,如下所示:
func method(data interface{})
.. 因为我需要处理具有共同字段/方法的不同结构。在这个函数中,我在不同的地方使用了数十次或数百次data。一直加switch a.(type) { case .. case ..真的很不爽。
有没有一种方法可以创建一个只有一个具有所需类型的switch 的变量,然后以后在任何地方都使用这个变量?比如:
var a .... // something here
switch data.(type) {
case *Struct1:
a = data.(*Struct1)
case *Struct2:
a = data.(*Struct2)
}
// Continue with 'a' only
a.Param = 15
fmt.Println(a.String())
【问题讨论】:
标签: go