package main
import "fmt"
type student interface {
StudentName() string
}
//定义1个结构体
type Boy struct {
Name string
}
func New(name string) student {
return Boy{name}
}
//给他这个结构体绑定一个方法 StudentName。这样就表示它实现了 student接口
func (a Boy) StudentName() string {
return a.Name
}
func main() {
//方式一
//var b1 = Boy{"zhangsan",}
//var s1 student
//s1 = b1
//fmt.Println(s1.StudentName())
//方式二
//b1 := New("lisi")
//fmt.Println(b1.StudentName())
//方式三
//b1 := Boy{"zhangsan",}
//d11 := []student{b1}
//fmt.Println(d11[0].StudentName())
//方式四
var s1 student = Boy{"zhangsan",}
fmt.Println(s1.StudentName()) // zhagnsan
}