【Golang】go语言之接口(interface)
接口interface
关于接口的概念
接口interface是定义了一组方法的集合,
接口提供了一种标准化的方式,用来规定对象的行为,。
通过接口,你定义了对象必须具备的方法。而不必关心对象的具体实现。这种抽象的方式,可以更加灵活和复用
通过定义接口interface,然后让对象来调用或者实现
接口interface可以作为函数的入参参数,也可以作为返回值 实现多态
接口Interface 是一种规范,是一种限制,
当你把接口interface定义好后,作为入参,那你这个函数的入参,就必须有你定义的接口interface有的方法,不然就会报错,
同理你把interface类型的东西作为return出去的东西,那你就在定义return的对象时就必须定义他有哪些方法,
总的说,接口等同于python的基类,基类用于子类必须实现方法,接口也是子类必须实现方法。
1 |
|
接口也是一种类型,可以定义变量
- 结构体—结构体方法—接口
- 接口类型的变量,能够储存所有实现了该接口的结构体。
- 实例化一个变量(对象)
1 |
|
定义指针类型和值类型接收器实现接口
- 值类型接口实现后,不管是结构体还是结构体指针的变量,都可以赋值给接口变量
- 只要是值接收器,修改的都是新的。
- 使用指针接收器实现接口之后,只能将结构体指针变量赋值给该接口变量
- 只要是指针接收器,修改的都是原来的。、
你在定义结构体方法的时候,将入参定义为指针类型入参即可,
这样你在实例化这个结构体的时候,传入指针类型即可
【Golang】go语言之接口(interface)
http://example.com/2023/12/06/804go语言之接口(interface)/