go接口

一。定义:

     1. type:定义一个新的数据类型

     2.interface:这是一个接口

      与结构体的区别:这里只有方法,没有属性。

二。用途:

    1. Go 语言提供了一种接口功能,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这种方法,不一定要显式要去实现哪些接口啦。比如上面的手机的 call()方法,就完全可以定义在接口 Phone 里面,而 NokiaPhone 和 IPhone 只要实现了这个接口就是一个 Phone

    2.更高一层的抽象,不同于结构体的内嵌或继承

    3.方法都是空的,方法的实现在子类里

三。其他;

1. 与其他数据类型不一样,不能实例化,不能通过new或make函数创建

2.结构体的花括号内是字段声明,接口花括号是方法声明,方法集

3.一个结构体的值方法没有实现一个接口,不代表指针方法没有实现这个接口

4.接口的动态值(实际值),动态类型,静态类型

四。接口的用法:

1. 找到实现其所有方法集的数据类型

2.对这个数据类型实例化

3.声明一个接口变量

4.把这个实例化的变量赋值给接口变量

5.给接口变量赋值是什么概念?是创建接口么?

五。一条重要的规则:

如果我们使用一个变量给另外一个变量赋值,那么真正赋给后者的值,并不是前者持有的那个值,而是该值的一个副本。 

六。接口的组合(继承):

原文地址:https://www.cnblogs.com/derekchen/p/9741275.html