package main
/*
課堂聯係
//下面代碼,有沒有錯誤,你能得出什麽結論?
type Ainterface interface{
Test01()
Test02()
}
type Binterface interface{
Test01()
Test02()
}
type Stu struct{
}
func(stu Stu)Test01(){
}
func(stu Stu)Test02(){
}
func(stu Stu)Test03(){
}
func main(){
stu :=Stu{}
var a Ainterface = stu
var b Binterface = stu
fmt.Println(“ok~”,a,b)
}
//下面代碼,有沒有錯誤,你能得出什麽結論?
type Ainterface interface{
Test01()
Test02()
}
type Binterface interface{
Test01()
Test02()
}
type Cinterface interface{
Ainterface
Binterface
}
func main(){
}
//這裏編譯錯誤,因爲Chterface有兩個Test()編譯器不能通過
課堂練習
//下面代碼,有沒有錯誤,爲什麽?
type Usb interface{
Say()
}
type Stu struct{
}
func(this *Stu)Say(){
fmt.Println(“Say()”)
}
func main(){
var stu Stu = Stu{}
//錯誤!會報Stu類型沒有實現Usb接口,
//如果希望通過編譯,var u Usb = &stu
var u Usb = stu//錯誤!會報Stu類型沒有實現Usb接口
u.Say()
fmt.Println(“here”,u)
}
*/