Dan*_*son 52 pointers interface go
我很困惑为什么这不能编译:
不可能的类型断言:Faz没有实现Foo(Bar方法有指针接收器)
如果我为Faz.Bar制作Faz.Bar的接收器而不是Faz指针,那么它编译得很好,但我认为拥有指针接收器总是更好,所以值不被复制?
package main
import (
"log"
)
func main() {
foo := New().(Faz)
log.Println(foo)
}
type Foo interface {
Bar() string
}
func New() Foo {
return &Faz{}
}
type Faz struct {
}
func (f *Faz) Bar() string {
return `Bar`
}
Run Code Online (Sandbox Code Playgroud)
One*_*One 52
因为事实*Faz
并非如此Faz
.
func main() {
foo := New().(*Faz)
log.Println(foo)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20484 次 |
最近记录: |