package main
import "fmt"
type a struct{
}
func (oa a) hi(){
fmt.Println("in a's hi()")
}
type b struct{
}
func (ob b) hi(){
fmt.Println("in b's hi()")
}
type Hi interface{
hi()
}
func sayhello(h Hi){
h.hi()
}
func main(){
var oa a
var ob b
sayhello(oa)
sayhello(ob)
}