diff --git a/source/chapter2/01_The_Basics.md b/source/chapter2/01_The_Basics.md index 6fc825d3..240f7e2e 100755 --- a/source/chapter2/01_The_Basics.md +++ b/source/chapter2/01_The_Basics.md @@ -481,7 +481,7 @@ print("The status message is \(http200Status.description)") > 注意 > -> 当遇到一些相关值的简单分组时,元组是很有用的。元组不适合用来创建复杂的数据结构。如果你的数据结构可能是错综复杂的,请把你的数据结构用类或者结构体去建模,而不是使用元组。欲获得更多信息,请参考 [结构体和类](https://docs.swift.org/swift-book/LanguageGuide/ClassesAndStructures.html)。 +> 当遇到一些相关值的简单分组时,元组是很有用的。元组不适合用来创建复杂的数据结构。如果你的数据结构可能是错综复杂的,请把你的数据结构用类或者结构体去建模,而不是使用元组。欲获得更多信息,请参考 [结构体和类](./09_Classes_and_Structures.md)。 ## 可选类型 {#optionals} diff --git a/source/chapter2/06_Functions.md b/source/chapter2/06_Functions.md index 3b643de6..7fcaf70a 100755 --- a/source/chapter2/06_Functions.md +++ b/source/chapter2/06_Functions.md @@ -202,7 +202,7 @@ if let bounds = minMax(array: [8, -6, 2, 109, 3, 71]) { // 打印“min is -6 and max is 109” ``` -### 隐式返回的函数 +### 隐式返回的函数 {#functions-with-an-implicit-return} 如果一个函数的整个函数体是一个单行表达式,这个函数可以隐式地返回这个表达式。举个例子,以下的函数有着同样的作用: ``` @@ -219,9 +219,9 @@ print(anotherGreeting(for: "Dave")) // 打印 "Hello, Dave!" ``` -greeting(for:) 函数的整个定义是它返回的一条打招呼的信息,这就意味着这个函数可以使用这个更短的隐式返回形式。anothergreeting(for:) 函数使用了 return 关键词返回同样的信息,这看上去像一个更长的函数。任何一个可以被写成一行 return 语句的函数都可以忽略 return。 +`greeting(for:)` 函数的完整定义是打招呼内容的返回,这就意味着它能使用隐式返回这样更简短的形式。`anothergreeting(for:)` 函数返回同样的内容,却因为 `return` 关键字显得函数更长。任何一个可以被写成一行 `return` 语句的函数都可以忽略 `return`。 -正如你将会在 [简略的 Getter 声明](https://docs.swift.org/swift-book/LanguageGuide/Properties.html#ID608) 里看到的, 一个属性的 getter 也可以使用隐式返回的形式。 +正如你将会在 [简略的 Getter 声明](./10_Properties.md) 里看到的, 一个属性的 getter 也可以使用隐式返回的形式。 ## 函数参数标签和参数名称 {#Function-Argument-Labels-and-Parameter-Names} diff --git a/source/chapter2/12_Subscripts.md b/source/chapter2/12_Subscripts.md index f7ddefb0..e6d1862a 100755 --- a/source/chapter2/12_Subscripts.md +++ b/source/chapter2/12_Subscripts.md @@ -142,8 +142,7 @@ let someValue = matrix[2, 2] ``` ## 类型下标{#type-subscripts} -正如上节所述,实例下标是在特定类型的一个实例上调用的下标。你也可以定义一种在这个类型本身上调用的下标。这种下标的类型被称作类型下标。你可以通过在 subscript 关键词之前写下 static 关键字的方式来表示一个类型下标。类可以使用 class 关键字来允许子类重写父类中对那个下标的实现。以下的例子表明你应怎样定义和调用一个类型下标: - +正如上节所述,实例下标是在特定类型的一个实例上调用的下标。你也可以定义一种在这个类型本身上调用的下标。这种下标的类型被称作类型下标。你可以通过在 `subscript` 关键字之前写下 `static` 关键字的方式来表示一个类型下标。类可以使用 `class` 关键字来允许子类重写父类中对那个下标的实现。下面的例子展示了如何定义和调用一个类型下标: ``` enum Planet: Int { case mercury = 1, venus, earth, mars, jupiter, saturn, uranus, neptune diff --git a/source/chapter2/14_Initialization.md b/source/chapter2/14_Initialization.md index 0ab872d0..88aae0d0 100755 --- a/source/chapter2/14_Initialization.md +++ b/source/chapter2/14_Initialization.md @@ -240,7 +240,7 @@ struct Size { let twoByTwo = Size(width: 2.0, height: 2.0) ``` -当你调用一个逐一成员构造器(memberwise initializer)时,你可以忽略任何一个有默认值的属性。在以上提到的例子中,这个 Size 结构体的 height 和 width 属性各有一个默认值。你可以忽略两者或两者之一,并且这个结构体的构造器会使用任何你忽略的属性的默认值来完成构造。举个例子: +当你调用一个逐一成员构造器(memberwise initializer)时,可以省略任何一个有默认值的属性。在上面这个例子中,`Size` 结构体的 `height` 和 `width` 属性各有一个默认值。你可以省略两者或两者之一,对于被省略的属性,构造器会使用默认值。举个例子: ``` let zeroByTwo = Size(height: 2.0) print(zeroByTwo.width, zeroByTwo.height)