8.2.2 扩展自定义类型
扩展不仅可以在Swift的基础类型上使用,也可以在开发者编写的自定义类型上使用。下面来看看如何结合之前学习过的内容对一个已有类型进行扩展:
动手写8.2.2 ExtensionForType

控制台输出如下:

本例中声明了一个Drives的协议,有两个可读属性hasFlash和speed,然后扩展了HardDisk这个结构体,并且扩展HardDisk满足协议Drives,最后创建一个HardDisk的实例,进行打印。ssdDisk的实例用扩展的方式满足了协议Drives,然后扩展HardDisk中将hasFlash返回了true,而speed返回了500。