Skip to content

Commit f976ec7

Browse files
committed
Update Functions.md
update * to **
1 parent c43a01e commit f976ec7

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

swift-6-beta.docc/LanguageGuide/Functions.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
定义和调用函数,标注参数并使用其返回值。
44

5-
*函数(Functions)* 是执行特定任务的独立代码块。
5+
**函数(Functions)** 是执行特定任务的独立代码块。
66
你可以通过给函数命名来标识某个函数的功能,这个名字可以被用来在需要的时候“调用”这个函数来完成它的任务。
77

88
Swift 的统一函数语法非常灵活,从没有形参名称的简单 C 风格函数到每个形参都有局部和外部参数名的复杂 Objective-C 风格方法,它都能表达。
@@ -13,11 +13,11 @@ Swift 中的每个函数都有一个类型,由函数的形参值类型和返
1313
或者还可以在其他函数中编写函数,以便在嵌套函数作用域中封装功能。
1414

1515
## 定义和调用函数
16-
定义函数时,您可以定义一个或多个有名字和类型的值,作为函数的输入,即 *形参*
17-
您还可以选择性地定义某种类型的值作为函数执行结束时的输出,即函数的 *返回类型*
16+
定义函数时,您可以定义一个或多个有名字和类型的值,作为函数的输入,即 **形参**
17+
您还可以选择性地定义某种类型的值作为函数执行结束时的输出,即函数的 **返回类型**
1818

19-
每个函数都有一个 *函数名*,它描述了函数执行的任务。
20-
要使用函数,您需要使用函数名“调用”该函数,并向其传递与函数形参类型相匹配的输入值(称为 *实参*)。
19+
每个函数都有一个 **函数名**,它描述了函数执行的任务。
20+
要使用函数,您需要使用函数名“调用”该函数,并向其传递与函数形参类型相匹配的输入值(称为 **实参**)。
2121
函数的实参必须与函数形参表里的顺序一致。
2222

2323
下面示例中的函数名为 'greet(person:)',因为它要做的就是接收一个人的姓名作为输入,并返回对这个人的问候语句。
@@ -41,8 +41,8 @@ func greet(person: String) -> String {
4141
```
4242
-->
4343

44-
所有这些信息都汇总起来成为函数的 *定义(definition)* ,并以 *func* 作为前缀。
45-
使用 *返回箭头* `->`(连字符后跟一个直角括号),后面跟要返回的类型名称,来表示函数的返回类型。
44+
所有这些信息都汇总起来成为函数的 **定义(definition)** ,并以 **func** 作为前缀。
45+
使用 **返回箭头** `->`(连字符后跟一个直角括号),后面跟要返回的类型名称,来表示函数的返回类型。
4646

4747
定义描述了函数的作用、期望接收的内容以及完成后的返回内容。
4848
有了定义,就可以在代码的其他地方明确地调用函数:
@@ -200,7 +200,7 @@ greet(person: "Dave")
200200
因为这个函数不需要返回值,所以这个函数的定义中没有返回箭头(`->`)和返回类型。
201201

202202
> 注意:
203-
> 严格来说,这个版本的 `greet(person:)` 函数 *确实* 仍然返回一个值,即使没有定义返回值。
203+
> 严格来说,这个版本的 `greet(person:)` 函数 **确实** 仍然返回一个值,即使没有定义返回值。
204204
> 没有定义返回类型的函数会返回 `Void` 类型的特殊值。
205205
> 这是一个空元组,写成 `()`
206206
@@ -333,7 +333,7 @@ print("min is \(bounds.min) and max is \(bounds.max)")
333333

334334
#### 可选元组返回类型
335335

336-
如果函数返回的元组类型有可能整个元组都“没有值”,你可以使用 *可选* 元组返回类型反映整个元组可以是 `nil` 的事实。
336+
如果函数返回的元组类型有可能整个元组都“没有值”,你可以使用 **可选** 元组返回类型反映整个元组可以是 `nil` 的事实。
337337
您可以通过在元组类型的结尾括号后放置问号来定义可选的元组返回类型,例如 `(Int, Int)?``(String, Int, Bool)?`
338338

339339
> 注意: 可选元组类型如 `(Int, Int)?` 与元组包含可选类型如 `(Int?, Int?)` 是不同的。
@@ -469,7 +469,7 @@ print(anotherGreeting(for: "Dave"))
469469

470470
## 函数参数标签和参数名称
471471

472-
每个函数参数都有一个 *参数标签(argument label)**参数名称(parameter name)*
472+
每个函数参数都有一个 **参数标签(argument label)****参数名称(parameter name)**
473473
参数标签在调用函数时使用;调用的时候需要将函数的参数标签写在对应的参数前面。
474474
参数名称用于函数的实现;
475475
默认情况下,函数参数使用参数名称来作为它们的参数标签。
@@ -575,11 +575,11 @@ someFunction(1, secondParameterName: 2)
575575
```
576576
-->
577577

578-
如果参数有参数标签,则在调用函数时 *必须* 使用标签来标示参数。
578+
如果参数有参数标签,则在调用函数时 **必须** 使用标签来标示参数。
579579

580580
### 默认参数值
581581

582-
你可以在函数体中通过给参数赋值来为任意一个 *参数定义默认值(Deafult Value)*
582+
你可以在函数体中通过给参数赋值来为任意一个 **参数定义默认值(Deafult Value)**
583583
如果定义了默认值,您就可以在调用函数时省略该参数。
584584

585585
```swift
@@ -608,14 +608,14 @@ someFunction(parameterWithoutDefault: 4) // parameterWithDefault is 12
608608

609609
### 可变参数
610610

611-
*可变参数(variadic parameter)* 接受零个或多个指定类型的值。
611+
**可变参数(variadic parameter)** 接受零个或多个指定类型的值。
612612
使用可变参数可以指定在调用函数时,参数可以传入不同数量的输入值。
613613
通过在参数类型名称后插入三个句点字符(`...`)来编写可变参数。
614614

615615
可变参数的值将在函数体中变为相应类型的数组。
616616
例如,名称为 `numbers` 和类型为 `Double...` 的可变参数,在函数体中以名为 `numbers` 类型为 `[Double]` 的数组常量形式提供。
617617

618-
下面的示例计算任意长度数字列表的 *算术平均数(arithmetic mean)*(也称为 *平均值(average)*):
618+
下面的示例计算任意长度数字列表的 **算术平均数(arithmetic mean)**(也称为 **平均值(average)**):
619619

620620
```swift
621621
func arithmeticMean(_ numbers: Double...) -> Double {
@@ -694,12 +694,12 @@ arithmeticMean(3, 8.25, 18.75)
694694
函数参数默认为常量。
695695
在函数体中更改函数参数的值会导致编译时错误。
696696
这意味着您不能错误地更改参数的值。
697-
如果您希望函数修改参数的值,并希望这些更改在函数调用结束后仍然有效,请将该参数定义为 *in-out parameter(输入输出参数)*
697+
如果您希望函数修改参数的值,并希望这些更改在函数调用结束后仍然有效,请将该参数定义为 **in-out parameter(输入输出参数)**
698698

699699
一个 输入输出参数有传入函数的值,这个值被函数修改,然后被传出函数,替换原来的值。想获取更多的关于输入输出参数的细节和相关的编译器优化,请查看 输入输出参数 一节。
700700

701701
您可以通过在参数类型前添加 `inout` 关键字来编写输入输出参数。
702-
输入输出参数有一个值,该值 *传入* 给函数,被函数修改后,然后被 *传出* 函数,以替换原来的值。
702+
输入输出参数有一个值,该值 **传入** 给函数,被函数修改后,然后被 **传出** 函数,以替换原来的值。
703703
有关传入传出参数行为及相关编译器优化的详细讨论,请参阅 <doc:Declarations#In-Out-Parameters>
704704

705705
你只能传递变量给输入输出参数。
@@ -771,7 +771,7 @@ print("someInt is now \(someInt), and anotherInt is now \(anotherInt)")
771771

772772
## 函数类型
773773

774-
每个函数都有一个特定的 *函数类型*,由函数的参数类型和返回类型组成。
774+
每个函数都有一个特定的 **函数类型**,由函数的参数类型和返回类型组成。
775775

776776
例如:
777777

@@ -1061,8 +1061,8 @@ print("zero!")
10611061

10621062
## 嵌套函数
10631063

1064-
到目前为止,您在本章中遇到的所有函数都是 *全局函数(global functions)*,它们定义在全局域中。
1065-
您还可以在其他函数的主体中定义函数,即 *嵌套函数(nested functions)*
1064+
到目前为止,您在本章中遇到的所有函数都是 **全局函数(global functions)**,它们定义在全局域中。
1065+
您还可以在其他函数的主体中定义函数,即 **嵌套函数(nested functions)**
10661066

10671067
默认情况下,嵌套函数是对外界不可见的,但仍可被其外围函数(enclosing function)调用。
10681068
外围函数也可以返回它的某个嵌套函数,以便在另一个作用域中使用这个函数。

0 commit comments

Comments
 (0)