Skip to content

Commit 2acb695

Browse files
authored
Update 01_The_Basics.md (#1222)
修正斜体
1 parent 96b6cac commit 2acb695

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

source/02_language_guide/01_The_Basics.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ Swift 包含了 C 和 Objective-C 上所有基础数据类型,`Int` 表示整
1010

1111
Swift 还增加了可选(Optional)类型,用于处理值缺失的情况。可选表示 “那儿有一个值,并且它等于 *x* ” 或者 “那儿没有值” 。可选有点像在 Objective-C 中使用 `nil` ,但是它可以用在任何类型上,不仅仅是类。可选类型比 Objective-C 中的 `nil` 指针更加安全也更具表现力,它是 Swift 许多强大特性的重要组成部分。
1212

13-
Swift 是一门*类型安全*的语言,这意味着 Swift 可以让你清楚地知道值的类型。如果你的代码需要一个 `String` ,类型安全会阻止你不小心传入一个 `Int` 。同样的,如果你的代码需要一个 `String`,类型安全会阻止你意外传入一个可选的 `String` 。类型安全可以帮助你在开发阶段尽早发现并修正错误。
13+
Swift 是一门 *类型安全* 的语言,这意味着 Swift 可以让你清楚地知道值的类型。如果你的代码需要一个 `String` ,类型安全会阻止你不小心传入一个 `Int` 。同样的,如果你的代码需要一个 `String`,类型安全会阻止你意外传入一个可选的 `String` 。类型安全可以帮助你在开发阶段尽早发现并修正错误。
1414

1515
## 常量和变量 {#constants-and-variables}
1616

17-
常量和变量把一个名字(比如 `maximumNumberOfLoginAttempts` 或者 `welcomeMessage` )和一个指定类型的值(比如数字 `10` 或者字符串 `"Hello"` )关联起来。*常量*的值一旦设定就不能改变,而*变量*的值可以随意更改。
17+
常量和变量把一个名字(比如 `maximumNumberOfLoginAttempts` 或者 `welcomeMessage` )和一个指定类型的值(比如数字 `10` 或者字符串 `"Hello"` )关联起来。 *常量* 的值一旦设定就不能改变,而 *变量* 的值可以随意更改。
1818

1919
### 声明常量和变量 {#declaring}
2020

@@ -43,15 +43,15 @@ var x = 0.0, y = 0.0, z = 0.0
4343
4444
### 类型注解 {#type-annotations}
4545

46-
当你声明常量或者变量的时候可以加上*类型注解(type annotation)*,说明常量或者变量中要存储的值的类型。如果要添加类型注解,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称。
46+
当你声明常量或者变量的时候可以加上 *类型注解(type annotation)* ,说明常量或者变量中要存储的值的类型。如果要添加类型注解,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称。
4747

4848
这个例子给 `welcomeMessage` 变量添加了类型注解,表示这个变量可以存储 `String` 类型的值:
4949

5050
```swift
5151
var welcomeMessage: String
5252
```
5353

54-
声明中的冒号代表着*“是...类型”*,所以这行代码可以被理解为:
54+
声明中的冒号代表着 *“是...类型”* ,所以这行代码可以被理解为:
5555

5656
“声明一个类型为 `String` ,名字为 `welcomeMessage` 的变量。”
5757

@@ -118,7 +118,7 @@ print(friendlyWelcome)
118118

119119
`print(_:separator:terminator:)` 是一个用来输出一个或多个值到适当输出区的全局函数。如果你用 Xcode,`print(_:separator:terminator:)` 将会输出内容到“console”面板上。`separator``terminator` 参数具有默认值,因此你调用这个函数的时候可以忽略它们。默认情况下,该函数通过添加换行符来结束当前行。如果不想换行,可以传递一个空字符串给 `terminator` 参数--例如,`print(someValue, terminator:"")` 。关于参数默认值的更多信息,请参考 [默认参数值](./06_Functions.md#default-parameter-values)
120120

121-
Swift 用*字符串插值(string interpolation)*的方式把常量名或者变量名当做占位符加入到长字符串中,Swift 会用当前常量或变量的值替换这些占位符。将常量或变量名放入圆括号中,并在开括号前使用反斜杠将其转义:
121+
Swift 用 *字符串插值(string interpolation)* 的方式把常量名或者变量名当做占位符加入到长字符串中,Swift 会用当前常量或变量的值替换这些占位符。将常量或变量名放入圆括号中,并在开括号前使用反斜杠将其转义:
122122

123123
```swift
124124
print("The current value of friendlyWelcome is \(friendlyWelcome)")
@@ -217,11 +217,11 @@ Swift 也提供了一个特殊的无符号类型 `UInt`,长度与当前平台
217217
218218
## 类型安全和类型推断 {#type-safety-and-type-inference}
219219

220-
Swift 是一个*类型安全(type safe)*的语言。类型安全的语言可以让你清楚地知道代码要处理的值的类型。如果你的代码需要一个 `String`,你绝对不可能不小心传进去一个 `Int`
220+
Swift 是一个 *类型安全(type safe)* 的语言。类型安全的语言可以让你清楚地知道代码要处理的值的类型。如果你的代码需要一个 `String`,你绝对不可能不小心传进去一个 `Int`
221221

222-
由于 Swift 是类型安全的,所以它会在编译你的代码时进行*类型检查(type checks)*,并把不匹配的类型标记为错误。这可以让你在开发的时候尽早发现并修复错误。
222+
由于 Swift 是类型安全的,所以它会在编译你的代码时进行 *类型检查(type checks)*,并把不匹配的类型标记为错误。这可以让你在开发的时候尽早发现并修复错误。
223223

224-
当你要处理不同类型的值时,类型检查可以帮你避免错误。然而,这并不是说你每次声明常量和变量的时候都需要显式指定类型。如果你没有显式指定类型,Swift 会使用*类型推断(type inference)*来选择合适的类型。有了类型推断,编译器可以在编译代码的时候自动推断出表达式的类型。原理很简单,只要检查你赋的值即可。
224+
当你要处理不同类型的值时,类型检查可以帮你避免错误。然而,这并不是说你每次声明常量和变量的时候都需要显式指定类型。如果你没有显式指定类型,Swift 会使用 *类型推断(type inference)* 来选择合适的类型。有了类型推断,编译器可以在编译代码的时候自动推断出表达式的类型。原理很简单,只要检查你赋的值即可。
225225

226226
因为有类型推断,和 C 或者 Objective-C 比起来 Swift 很少需要声明类型。常量和变量虽然需要明确类型,但是大部分工作并不需要你自己来完成。
227227

@@ -256,10 +256,10 @@ let anotherPi = 3 + 0.14159
256256

257257
整数字面量可以被写作:
258258

259-
* 一个*十进制*数,没有前缀
260-
* 一个*二进制*数,前缀是 `0b`
261-
* 一个*八进制*数,前缀是 `0o`
262-
* 一个*十六进制*数,前缀是 `0x`
259+
* 一个 *十进制* 数,没有前缀
260+
* 一个 *二进制* 数,前缀是 `0b`
261+
* 一个 *八进制* 数,前缀是 `0o`
262+
* 一个 *十六进制* 数,前缀是 `0x`
263263

264264
下面的所有整数字面量的十进制值都是 `17`:
265265

@@ -357,7 +357,7 @@ let integerPi = Int(pi)
357357
358358
## 类型别名 {#type-aliases}
359359

360-
*类型别名(type aliases)*就是给现有类型定义另一个名字。你可以使用 `typealias` 关键字来定义类型别名。
360+
*类型别名(type aliases)* 就是给现有类型定义另一个名字。你可以使用 `typealias` 关键字来定义类型别名。
361361

362362
当你想要给现有类型起一个更有意义的名字时,类型别名非常有用。假设你正在处理特定长度的外部资源的数据:
363363

@@ -376,7 +376,7 @@ var maxAmplitudeFound = AudioSample.min
376376

377377
## 布尔值 {#booleans}
378378

379-
Swift 有一个基本的*布尔(Boolean)类型*,叫做 `Bool`。布尔值指*逻辑*上的值,因为它们只能是真或者假。Swift 有两个布尔常量,`true``false`
379+
Swift 有一个基本的 *布尔(Boolean)类型*,叫做 `Bool`。布尔值指 *逻辑* 上的值,因为它们只能是真或者假。Swift 有两个布尔常量,`true``false`
380380

381381
```swift
382382
let orangesAreOrange = true
@@ -422,9 +422,9 @@ if i == 1 {
422422

423423
## 元组 {#tuples}
424424

425-
*元组(tuples)*把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型。
425+
*元组(tuples)* 把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型。
426426

427-
下面这个例子中,`(404, "Not Found")` 是一个描述 *HTTP 状态码(HTTP status code)*的元组。HTTP 状态码是当你请求网页的时候 web 服务器返回的一个特殊值。如果你请求的网页不存在就会返回一个 `404 Not Found` 状态码。
427+
下面这个例子中,`(404, "Not Found")` 是一个描述 *HTTP 状态码(HTTP status code)* 的元组。HTTP 状态码是当你请求网页的时候 web 服务器返回的一个特殊值。如果你请求的网页不存在就会返回一个 `404 Not Found` 状态码。
428428

429429
```swift
430430
let http404Error = (404, "Not Found")
@@ -485,7 +485,7 @@ print("The status message is \(http200Status.description)")
485485
486486
## 可选类型 {#optionals}
487487

488-
使用*可选类型(optionals)*来处理值可能缺失的情况。可选类型表示两种可能:
488+
使用 *可选类型(optionals)* 来处理值可能缺失的情况。可选类型表示两种可能:
489489
或者有值, 你可以解析可选类型访问这个值, 或者根本没有值。
490490

491491
> 注意
@@ -502,7 +502,7 @@ let convertedNumber = Int(possibleNumber)
502502
// convertedNumber 被推测为类型 "Int?", 或者类型 "optional Int"
503503
```
504504

505-
因为该构造器可能会失败,所以它返回一个*可选类型*(optional)`Int`,而不是一个 `Int`。一个可选的 `Int` 被写作 `Int?` 而不是 `Int`。问号暗示包含的值是可选类型,也就是说可能包含 `Int` 值也可能*不包含值*。(不能包含其他任何值比如 `Bool` 值或者 `String` 值。只能是 `Int` 或者什么都没有。)
505+
因为该构造器可能会失败,所以它返回一个 *可选类型* (optional)`Int`,而不是一个 `Int`。一个可选的 `Int` 被写作 `Int?` 而不是 `Int`。问号暗示包含的值是可选类型,也就是说可能包含 `Int` 值也可能 *不包含值* 。(不能包含其他任何值比如 `Bool` 值或者 `String` 值。只能是 `Int` 或者什么都没有。)
506506

507507
### nil {#nil}
508508

@@ -543,7 +543,7 @@ if convertedNumber != nil {
543543
// 输出“convertedNumber contains some integer value.”
544544
```
545545

546-
当你确定可选类型确实包含值之后,你可以在可选的名字后面加一个感叹号(`!`)来获取值。这个惊叹号表示“我知道这个可选有值,请使用它。”这被称为可选值的*强制解析(forced unwrapping)*
546+
当你确定可选类型确实包含值之后,你可以在可选的名字后面加一个感叹号(`!`)来获取值。这个惊叹号表示“我知道这个可选有值,请使用它。”这被称为可选值的 *强制解析(forced unwrapping)*
547547

548548
```swift
549549
if convertedNumber != nil {
@@ -560,7 +560,7 @@ if convertedNumber != nil {
560560
561561
### 可选绑定 {#optional-binding}
562562

563-
使用*可选绑定(optional binding)*来判断可选类型是否包含值,如果包含就把值赋给一个临时常量或者变量。可选绑定可以用在 `if``while` 语句中,这条语句不仅可以用来判断可选类型中是否有值,同时可以将可选类型中的值赋给一个常量或者变量。`if``while` 语句,请参考 [控制流](./05_Control_Flow.md)
563+
使用 *可选绑定(optional binding)* 来判断可选类型是否包含值,如果包含就把值赋给一个临时常量或者变量。可选绑定可以用在 `if``while` 语句中,这条语句不仅可以用来判断可选类型中是否有值,同时可以将可选类型中的值赋给一个常量或者变量。`if``while` 语句,请参考 [控制流](./05_Control_Flow.md)
564564

565565
像下面这样在 `if` 语句中写一个可选绑定:
566566

0 commit comments

Comments
 (0)