我找到了一个接口,其中调用了一个方法_。我尝试实现它,但它不起作用:
package main
func main() {}
func ft(t T) { fi(t) }
func fi(I) {}
type I interface {
_() int
}
type T struct {}
func (T) _() int { return 0 }
func (T) _(int) int { return 0 }
$ go run a.go
./a.go:4: cannot use t (type T) as type I in function argument:
T does not implement I (missing _ method)
我也尝试添加重载方法,_(int)但这也不起作用:
package main
func main() {}
type I interface {
_() int
_(int) int
}
type T struct {}
func (T) _() int { return 0 }
func (T) _(int) int { return 0 }
$ go run a.go
# command-line-arguments
./a.go:12: internal compiler error: sigcmp vs sortinter _ _
为什么?这种_方法的目的是什么?我认为这可能是一种阻止人们实现接口的方法(如 Java 中的私有接口)?
相关分类