- 接口 Say
- 结构体 Hello
package main
import "fmt"
type Say interface {
say()
}
type Hello struct {}
func(h *Hello) say(){ //这里写指针,作为接口时必须引用
fmt.Println("hello")
}
func main() {
var sayHello Say = &Hello{} //这里
sayHello.say()
}
如果 Hello.say() 方法传的指针,则实例化接口时,必须写 &Hello{}
, Hello{}
会报错。
如果
func(h Hello) say(){ //这里写对象
fmt.Println("hello")
}
则实例化接口时, &Hello{}
, Hello{}
都可以。
golang interface 指针还是对象