跳转至

15.接口

接口是一种特殊的类型,接口和结构体不同,接口不关心其内部如何存储数据,而关心其有何种方法,凡是满足含有相应方法的类,都能传给这个接口类型参数。

声明

type <interfaceName> interface{
    <functionName> <return Type>
}

上述代码将声明一个拥有指定名称和指定返回值类型的方法。

Go语言中接口类型不需要先于类型而定义。

应用

接口类型为Go语言提供了兼容内置方法的功能,类似重载运算符。

比如Go语言中内置Stringer这个接口,只有相应类实现了这个接口(String()方法),就可以被Println直接打印输出。