@@ -61,7 +61,7 @@ Swift 是一个类型安全的语言,可选就是一个很好的例子。Swift
6161
6262### 类型标注
6363
64- 当你声明常量或者变量的时候可以加上_类型标注( type annotation) _ ,说明常量或者变量中要存储的值的类型。如果要添加类型标注,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称。
64+ 当你声明常量或者变量的时候可以加上_类型标注( type annotation) _ ,说明常量或者变量中要存储的值的类型。如果要添加类型标注,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称。
6565
6666这个例子给` welcomeMessage ` 变量添加了类型标注,表示这个变量可以存储` String ` 类型的值:
6767
@@ -138,16 +138,16 @@ Swift 用_字符串插值(string interpolation)_的方式把常量名或者
138138## 注释
139139请将你的代码中的非执行文本注释成提示或者笔记以方便你将来阅读。Swift 的编译器将会在编译代码时自动忽略掉注释部分。
140140
141- Swift 中的注释与C 语言的注释非常相似。单行注释以双正斜杠作( ` // ` )为起始标记 :
141+ Swift 中的注释与C 语言的注释非常相似。单行注释以双正斜杠( ` // ` )作为起始标记 :
142142
143143 // 这是一个注释
144144
145- 你也可以进行多行注释,其起始标记为单个正斜杠后跟随一个星号( ` /* ` ) ,终止标记为一个星号后跟随单个正斜杠( ` */ ` ) :
145+ 你也可以进行多行注释,其起始标记为单个正斜杠后跟随一个星号( ` /* ` ) ,终止标记为一个星号后跟随单个正斜杠( ` */ ` ) :
146146
147147 /* 这是一个,
148148 多行注释 */
149149
150- 与C 语言多行注释不同,Swift 的多行注释可以嵌套在其它的多行注释之中。你可以先生成一个多行注释块,然后在这个注释块之中再嵌套成第二个多行注释。终止注释时先插入第二个注释块的终止标记,然后再插入第一个注释块的终止标记:
150+ 与 C 语言多行注释不同,Swift 的多行注释可以嵌套在其它的多行注释之中。你可以先生成一个多行注释块,然后在这个注释块之中再嵌套成第二个多行注释。终止注释时先插入第二个注释块的终止标记,然后再插入第一个注释块的终止标记:
151151
152152 /* 这是第一个多行注释的开头
153153 /* 这是第二个被嵌套的多行注释 */
@@ -213,15 +213,15 @@ Swift 也提供了一个特殊的无符号类型`UInt`,长度与当前平台
213213<a name =" type_safety_and_type_inference " ></a >
214214## 类型安全和类型推测
215215
216- Swift 是一个_类型安全( type safe ) _ 的语言。类型安全的语言可以让你清楚地知道代码要处理的值的类型。如果你的代码需要一个` String ` ,你绝对不可能不小心传进去一个` Int ` 。
216+ Swift 是一个_类型安全( type safe) _ 的语言。类型安全的语言可以让你清楚地知道代码要处理的值的类型。如果你的代码需要一个` String ` ,你绝对不可能不小心传进去一个` Int ` 。
217217
218- 由于 Swift 是类型安全的,所以它会在编译你的代码时进行_类型检查( type checks) _ ,并把不匹配的类型标记为错误。这可以让你在开发的时候尽早发现并修复错误。
218+ 由于 Swift 是类型安全的,所以它会在编译你的代码时进行_类型检查( type checks) _ ,并把不匹配的类型标记为错误。这可以让你在开发的时候尽早发现并修复错误。
219219
220- 当你要处理不同类型的值时,类型检查可以帮你避免错误。然而,这并不是说你每次声明常量和变量的时候都需要显式指定类型。如果你没有显式指定类型,Swift 会使用_类型推测( type inference) _ 来选择合适的类型。有了类型推测,编译器可以在编译代码的时候自动推测出表达式的类型。原理很简单,只要检查你赋的值即可。
220+ 当你要处理不同类型的值时,类型检查可以帮你避免错误。然而,这并不是说你每次声明常量和变量的时候都需要显式指定类型。如果你没有显式指定类型,Swift 会使用_类型推测( type inference) _ 来选择合适的类型。有了类型推测,编译器可以在编译代码的时候自动推测出表达式的类型。原理很简单,只要检查你赋的值即可。
221221
222222因为有类型推测,和 C 或者 Objective-C 比起来 Swift 很少需要声明类型。常量和变量虽然需要明确类型,但是大部分工作并不需要你自己来完成。
223223
224- 当你声明常量或者变量并赋初值的时候类型推测非常有用。当你在声明常量或者变量的时候赋给它们一个_字面量( literal value 或 literal) _ 即可触发类型推测。(字面量就是会直接出现在你代码中的值,比如` 42 ` 和` 3.14159 ` 。)
224+ 当你声明常量或者变量并赋初值的时候类型推测非常有用。当你在声明常量或者变量的时候赋给它们一个_字面量( literal value 或 literal) _ 即可触发类型推测。(字面量就是会直接出现在你代码中的值,比如` 42 ` 和` 3.14159 ` 。)
225225
226226例如,如果你给一个新常量赋值` 42 ` 并且没有标明类型,Swift 可以推测出常量类型是` Int ` ,因为你给它赋的初始值看起来像一个整数:
227227
@@ -259,7 +259,7 @@ Swift 是一个_类型安全(type safe )_的语言。类型安全的语言可以
259259 let octalInteger = 0o21 // 八进制的17
260260 let hexadecimalInteger = 0x11 // 十六进制的17
261261
262- 浮点字面量可以是十进制(没有前缀)或者是十六进制(前缀是` 0x ` )。小数点两边必须有至少一个十进制数字(或者是十六进制的数字)。浮点字面量还有一个可选的_指数( exponent) _ ,在十进制浮点数中通过大写或者小写的` e ` 来指定,在十六进制浮点数中通过大写或者小写的` p ` 来指定。
262+ 浮点字面量可以是十进制(没有前缀)或者是十六进制(前缀是` 0x ` )。小数点两边必须有至少一个十进制数字(或者是十六进制的数字)。浮点字面量还有一个可选的_指数( exponent) _ ,在十进制浮点数中通过大写或者小写的` e ` 来指定,在十六进制浮点数中通过大写或者小写的` p ` 来指定。
263263
264264如果一个十进制数的指数为` exp ` ,那这个数相当于基数和$10^{exp}$的乘积:
265265* ` 1.25e2 ` 表示 $1.25 × 10^{2}$,等于 ` 125.0 ` 。
@@ -296,7 +296,7 @@ Swift 是一个_类型安全(type safe )_的语言。类型安全的语言可以
296296 let tooBig: Int8 = Int8.max + 1
297297 // Int8 类型不能存储超过最大值的数,所以会报错
298298
299- 由于每中整数类型都可以存储不同范围的值 ,所以你必须根据不同情况选择性使用数值型类型转换。这种选择性使用的方式,可以预防隐式转换的错误并让你的代码中的类型转换意图变得清晰。
299+ 由于每种整数类型都可以存储不同范围的值 ,所以你必须根据不同情况选择性使用数值型类型转换。这种选择性使用的方式,可以预防隐式转换的错误并让你的代码中的类型转换意图变得清晰。
300300
301301要将一种数字类型转换成另一种,你要用当前值来初始化一个期望类型的新数字,这个数字的类型就是你的目标类型。在下面的例子中,常量` twoThousand ` 是` UInt16 ` 类型,然而常量` one ` 是` UInt8 ` 类型。它们不能直接相加,因为它们类型不同。所以要调用` UInt16(one) ` 来创建一个新的` UInt16 ` 数字并用` one ` 的值来初始化,然后使用这个新数字来计算:
302302
@@ -333,7 +333,7 @@ Swift 是一个_类型安全(type safe )_的语言。类型安全的语言可以
333333<a name =" type_aliases " ></a >
334334## 类型别名
335335
336- _ 类型别名( type aliases) _ 就是给现有类型定义另一个名字。你可以使用` typealias ` 关键字来定义类型别名。
336+ _ 类型别名( type aliases) _ 就是给现有类型定义另一个名字。你可以使用` typealias ` 关键字来定义类型别名。
337337
338338当你想要给现有类型起一个更有意义的名字时,类型别名非常有用。假设你正在处理特定长度的外部资源的数据:
339339
@@ -349,7 +349,7 @@ _类型别名(type aliases)_就是给现有类型定义另一个名字。你可
349349<a name =" booleans " ></a >
350350## 布尔值
351351
352- Swift 有一个基本的_布尔( Boolean) _ 类型,叫做` Bool ` 。布尔值指_逻辑上的( logical) _ ,因为它们只能是真或者假。Swift 有两个布尔常量,` true ` 和` false ` :
352+ Swift 有一个基本的_布尔( Boolean) _ 类型,叫做` Bool ` 。布尔值指_逻辑上的( logical) _ ,因为它们只能是真或者假。Swift 有两个布尔常量,` true ` 和` false ` :
353353
354354 let orangesAreOrange = true
355355 let turnipsAreDelicious = false
@@ -431,7 +431,7 @@ _元组(tuples)_把多个值组合成一个复合值。元组内的值可以
431431 println("The status message is \(http200Status.description)")
432432 // 输出 "The status message is OK"
433433
434- 作为函数返回值时,元组非常有用。一个用来获取网页的函数可能会返回一个` (Int, String) ` 元组来描述是否获取成功。和只能返回一个类型的值比较起来,一个包含两个不同类型值的元组可以让函数的返回信息更有用。请参考[ 函数参数与返回值(06_Functions.html#Function_Parameters_and_Return_Values)。
434+ 作为函数返回值时,元组非常有用。一个用来获取网页的函数可能会返回一个` (Int, String) ` 元组来描述是否获取成功。和只能返回一个类型的值比较起来,一个包含两个不同类型值的元组可以让函数的返回信息更有用。请参考[ 函数参数与返回值] ( 06_Functions.html#Function_Parameters_and_Return_Values ) 。
435435
436436> 注意:
437437>
@@ -466,7 +466,7 @@ C 和 Objective-C 中并没有可选这个概念。最接近的是 Objective-C
466466
467467你可以使用` if ` 语句来判断一个可选是否包含值。如果可选有值,结果是` true ` ;如果没有值,结果是` false ` 。
468468
469- 当你确定可选包_确实_含值之后 ,你可以在可选的名字后面加一个感叹号( ` ! ` ) 来获取值。这个惊叹号表示“我知道这个可选有值,请使用它。”这被称为可选值的_强制解析(forced unwrapping)_ :
469+ 当你确定可选_确实_包含值之后 ,你可以在可选的名字后面加一个感叹号( ` ! ` ) 来获取值。这个惊叹号表示“我知道这个可选有值,请使用它。”这被称为可选值的_强制解析(forced unwrapping)_ :
470470
471471 if convertedNumber {
472472 println("\(possibleNumber) has an integer value of \(convertedNumber!)")
0 commit comments