golang接口赋值操练
golang接口接口,姑且就称之为定义了一系列(也可能是空的)方法,但是又没有实现这些方法的一种结构体。 type YourType interface {
SayHi(str string)
}
type HeType interface {
SayHi(str string)
SayBye(str string)
}
上边是两个接口,YourYype接口中定义了一个SayHi方法。HeType定义了SayHi方法与SayBye方法。 type youknow struct {
}
func (t youknow) SayHi(str string) {
fmt.Println("hi " + str)
}
上边的youknow就实现了YourType方法。 type dknow struct {
youknow
}
func (t *dknow) SayBye(str string) {
fmt.Println("bye bye " + str + ".see you tomorrow.")
}
通过匿名组合,上边的dknow就实现了HeType接口,匿名组合,是不是很好用,赞一个。 下边来通过代码演示结果。 func main() {
var myouknow YourType = youknow{}
myouknow.SayHi("demo")
var mdknow HeType = new(dknow)
mdknow.SayBye("demo")
}
上边先定义了一个接口类型的变量myouknow,赋值时,使用的youknow的结构体类型。 package main
import "fmt"
type YourType interface {
SayHi(str string)
}
type HeType interface {
SayHi(str string)
SayBye(str string)
}
type youknow struct {
}
type dknow struct {
youknow
}
func (t youknow) SayHi(str string) {
fmt.Println("hi " + str)
}
func (t *dknow) SayBye(str string) {
fmt.Println("bye bye " + str + ".see you tomorrow.")
}
func main() {
var myouknow YourType = youknow{}
myouknow.SayHi("demo")
var mdknow HeType = new(dknow)
mdknow.SayBye("demo")
mdknow.SayHi("he type")
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |