We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 200793d + 51aeac3 commit 2a7eb94Copy full SHA for 2a7eb94
golang/interface.md
@@ -311,8 +311,11 @@ func (a2 *A2Instance) Printf() int {
311
// 调用接口的方法
312
a.Println()
313
```
314
-
315
-如果结构体没有实现该方法,将编译不通过,无法编译二进制。
+a = &A1Instance{Data:"i love you"}而不是 a = A1Instance{Data:"i love you"}
+指针类型的receiver 方法实现接口时,只有指针类型的对象实现了该接口。
316
+对应上面的例子来说,只有&A1Instance实现了Println接口,而A1Instance根本没有实现该接口
317
+当写成a = A1Instance{Data:"i love you"}
318
+结构体没有实现该方法,将编译不通过,无法编译二进制。
319
320
当然也可以使用断言和反射来判断接口类型是属于哪个实际的结构体 `struct`。
321
@@ -326,4 +329,4 @@ func (a2 *A2Instance) Printf() int {
326
329
fmt.Println(reflect.TypeOf(a).String())
327
330
328
331
-`Golang` 很智能判断结构体是否实现了接口的方法,如果实现了,那么该结构体就是该接口类型。我们灵活的运用接口结构的特征,使用组合的形式就可以开发出更灵活的程序了。
332
+`Golang` 很智能判断结构体是否实现了接口的方法,如果实现了,那么该结构体就是该接口类型。我们灵活的运用接口结构的特征,使用组合的形式就可以开发出更灵活的程序了。
0 commit comments