go 语言中的接口与方法的区别
结构体 A ,拥有方法 run
结构体 B ,拥有方法 run
接口 C ,内部有一个方法 run
那么我调用 run 方法时候,可以直接 A.run ,或则 B.run 不就行了
为何还要定义一个接口变量,然后实例化这个变量,再调用方法?这不是多此一举吗?伪代码如下
var x C
x=A{}
x.run
x=B{}
x.run()
我直接
x :=A{}
x.run()
或者
x :=B{}
b.run()
感觉弄一个接口不是多此一举吗?
初学 go ,往大家多多解惑
结构体 A ,拥有方法 run
结构体 B ,拥有方法 run
接口 C ,内部有一个方法 run
那么我调用 run 方法时候,可以直接 A.run ,或则 B.run 不就行了
为何还要定义一个接口变量,然后实例化这个变量,再调用方法?这不是多此一举吗?伪代码如下
var x C
x=A{}
x.run
x=B{}
x.run()
我直接
x :=A{}
x.run()
或者
x :=B{}
b.run()
感觉弄一个接口不是多此一举吗?
初学 go ,往大家多多解惑
