// print和debugPrint
//在定义和实现一个类型的时候,Swift中的一种非常常见,也是非常先进的做法是先定义最简单的类型结构,然后再通过扩展extension的方式来实现为数众多的协议和各种各样的功能。OC中结构原理多是像是protocol + category的形式。
//好比这两个协议
// CustomStringConvertible只有一个只读的计算性属性description
// CustomDebugStringConvertible只有一个只读计算性属性debugDescription
//当我们要想打印一个对象的详细参数之类的时候,就需要我们实现CustomStringConvertible中的description只读的计算性属性,在这个get { }方法中,返回我们需要的参数
//我们通常会给这个对象的类加一个扩展,而不是在原来的类中加属性,这样会使代码看起来分工明确