一、什么是多态

什么是多态?顾名思义,多态就是多种状态。

Golang中的多态是如何实现的呢?

二、多态的实现

可以看到,我们定义了一个Alimal接口,接口有一个Say方法,然后定义了Dog和Cat类型,它们都实现了Say方法,它们属于动物。

再者,我们又定义了一个WhoAreYou方法,入参为接口Animal类型,我们发现这个animal可以是cat也可以是dog,只要实现了Say方法的动物类型都允许进入。

我们认为,animal变量有多种类型Dog或Cat,也可以说是多种状态,这就是多态