接口使用
接口基本使用
package main import "fmt" func main() { var i Humaner student := student{"学生"} i = student i.sayHi() //{name:学生} sayHi //i = new(teacher) teacher := teacher{"教师"} i = teacher i.sayHi() str := Str("string") i = str i.sayHi() } //定义接口 type Humaner interface { sayHi() } type student struct { name string } type teacher struct { name string } type Str string func (student student) sayHi() { fmt.Printf("%+v sayHi \n", student) } func (teacher teacher) sayHi() { fmt.Printf("%+v sayHi \n", teacher) } func (str Str) sayHi() { fmt.Printf("%+v sayHi \n", str) }
接口继承
package main import "fmt" func main() { var i Personer i = person{"person"} i.sayHi() } //定义接口 type Humaner interface { sayHi() } //Personer接口继承Humaner接口 type Personer interface { Humaner } type person struct { typeName string } func (person person) sayHi() { fmt.Printf("%+v sayHi", person) }
空接口
package main import "fmt" func main() { var i interface{} //定义空接口,空接口可以接受任意类型 i = "字符串" fmt.Println(i) //字符串 i = 20 fmt.Println(i) //20 }

浙公网安备 33010602011771号