go 对接口简单理解
package main
import "fmt"
// Boy 接口的作用,一个方法不同类型产生不同的效果,一个类型拥有多种方法
type Boy interface {
People
Children
}
type People interface {
Speak(string) string
}
type Children interface {
Study(string) string
}
type Student struct {
}
type Teacher struct {
}
func (peo Student) Speak(str string) string {
if str == "hi" {
return "thanks"
} else {
return "error"
}
}
func (peo *Teacher) Speak(str string) string {
if str == "hello" {
return "sit down"
} else {
return "s error"
}
}
func (peo Student) Study(book string) (obtain string) {
if book == "math" {
obtain = "计算"
} else {
obtain = "其他"
}
return
}
func main() {
var p Boy = Student{}
fmt.Println(p.Speak("hi"))
fmt.Println(p.Study("hi"))
}