如何实现 _() 方法?

我找到了一个接口,其中调用了一个方法_。我尝试实现它,但它不起作用:


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 中的私有接口)?


POPMUISE
浏览 187回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go