This commit is contained in:
Xargin
2016-08-03 16:27:12 +08:00
parent caa6653b3d
commit ea4d66c603
4 changed files with 6 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
## 7.13. 类型开关
接口被以两种不同的方式使用。在第一个方式中以io.Readerio.Writerfmt.Stringersort.Interfacehttp.Handler和error为典型一个接口的方法表达了实现这个接口的具体类型间的相性,但是隐藏了代表的细节和这些具体类型本身的操作。重点在于方法上,而不是具体的类型上。
接口被以两种不同的方式使用。在第一个方式中以io.Readerio.Writerfmt.Stringersort.Interfacehttp.Handler和error为典型一个接口的方法表达了实现这个接口的具体类型间的相性,但是隐藏了代表的细节和这些具体类型本身的操作。重点在于方法上,而不是具体的类型上。
第二个方式利用一个接口值可以持有各种具体类型值的能力并且将这个接口认为是这些类型的union联合。类型断言用来动态地区别这些类型并且对每一种情况都不一样。在这个方式中重点在于具体的类型满足这个接口而不是在于接口的方法如果它确实有一些的话并且没有任何的信息隐藏。我们将以这种方式使用的接口描述为discriminated unions可辨识联合