我正在尝试动态调用返回不同类型的struct.
例如,让我们采用以下代码。
struct A {
Name string
Value int
}
struct B {
Name1 string
Name2 string
Value float
}
func doA() (A) {
// some code returning A
}
func doB() (B) {
// some code returning B
}
我想将函数doA或doB作为参数传递给一个通用函数,该函数将执行该函数并对结果进行 JSON 编码。像下面这样:
func Generic(w io.Writer, fn func() (interface {}) {
result := fn()
json.NewEncoder(w).Encode(result)
}
但是当我这样做时:
Generic(w, doA)
我收到以下错误:
cannot use doA (type func() (A)) as type func() (interface {})
有没有办法实现这个动态调用?
四季花海
慕桂英4014372
相关分类