我有两个函数返回指向符合同一接口的两个单独结构的指针。如何将功能放在同一张地图中?我想出了创建包装函数(getFooer在示例中)来检查类型。有没有更好的办法?使类型检查getFooer函数中的类型转换但不检查注释掉行中的类型转换的规则是什么main?
package main
import (
"fmt"
)
type Fooer interface {
Foo()
}
type A struct {
}
func (a *A) Foo() {
}
var a A = A{}
func getA() (*A) {
return &a
}
func getFooer() (Fooer) {
return getA()
}
func main() {
var f func() (Fooer)
// f = getA // /tmp/foo.go:29:7: cannot use getA (type func() *A) as type func() Fooer in assignment
f = getFooer
fmt.Println(f)
}
天涯尽头无女友
相关分类