 
 // 构造过程
 // 构造过程是使用类、结构体或枚举类型一个实例的准备过程。在新实例可用前必须执行这个过程。
-// 通过定义构造器来实现构造过程，Swift的构造器无序返回值。
+// 通过定义构造器来实现构造过程，Swift的构造器无需返回值。
 
 // 存储属性的初始赋值
 // 类和结构体在创建实例时，必须为所有存储属性设置合适的初始值。存储型属性的值不能处于一个未知的状态。

// 两段式构造过程
// Swift中类的构造过程包含两个阶段。第一个阶段，每个存储型属性通过引入它们的类的构造器来设置初始值。每当一个存储型属性被确定后，第二阶段开始，它给每个类一次机会在新实例准备使用之前进一步定制它们的存储型属性。第二个阶段开始，它给每个类一次机会在新实例准备使用之前进一步定制它们的存储型属性。

























let halfGray = Color(white: 0.5)

// 不带外部名的构造器参数
// 为构造器的某个参数不提供外部名字，可以使用下划线_来显示描述它的外部名。
struct Celsius1 {
    var temperaturelnCelsius = 0.0
    init(fromFahrenheit fahrenheit: Double) {
