1 Commits

Author SHA1 Message Date
1adc64e619 feat:示例代码更新 2021-06-26 11:03:07 +08:00
2 changed files with 6 additions and 6 deletions

View File

@ -135,7 +135,7 @@ swapTwoValues(&someString, &anotherString)
```swift
struct IntStack {
var items = [Int]()
var items: [Int] = []
mutating func push(_ item: Int) {
items.append(item)
}
@ -153,7 +153,7 @@ struct IntStack {
```swift
struct Stack<Element> {
var items = [Element]()
var items: [Element] = []
mutating func push(_ item: Element) {
items.append(item)
}
@ -354,7 +354,7 @@ protocol Container {
```swift
struct IntStack: Container {
// IntStack 的原始实现部分
var items = [Int]()
var items: [Int] = []
mutating func push(_ item: Int) {
items.append(item)
}
@ -386,7 +386,7 @@ struct IntStack: Container {
```swift
struct Stack<Element>: Container {
// Stack<Element> 的原始实现部分
var items = [Element]()
var items: [Element] = []
mutating func push(_ item: Element) {
items.append(item)
}
@ -721,7 +721,7 @@ protocol ComparableContainer: Container where Item: Comparable { }
extension Container {
subscript<Indices: Sequence>(indices: Indices) -> [Item]
where Indices.Iterator.Element == Int {
var result = [Item]()
var result: [Item] = []
for index in indices {
result.append(self[index])
}

View File

@ -129,7 +129,7 @@ someTuple = (left: 5, right: 5) // 错误:命名类型不匹配
你可以对形参类型为 `() -> T`(其中 T 是任何类型)的函数使用 `autoclosure` 特性,这会在调用侧隐式创建一个闭包。这从语法结构上提供了一种便捷:延迟对表达式的求值,直到其值在函数体中被调用。以自动闭包做为形参的函数类型的例子详见 [自动闭包](../02_language_guide/07_Closures.md#autoclosures)。
函数类型可以拥有个可变参数在*形参类型*中。从语法角度上讲,可变参数由一个基础类型名字紧随三个点(`...`)组成,如 `Int...`。可变参数被认为是一个包含了基础类型元素的数组。即 `Int...` 就是 `[Int]`。关于使用可变参数的例子,请参阅 [可变参数](../02_language_guide/06_Functions.md#variadic-parameters)。
函数类型可以拥有个可变参数在*形参类型*中。从语法角度上讲,可变参数由一个基础类型名字紧随三个点(`...`)组成,如 `Int...`。可变参数被认为是一个包含了基础类型元素的数组。即 `Int...` 就是 `[Int]`。关于使用可变参数的例子,请参阅 [可变参数](../02_language_guide/06_Functions.md#variadic-parameters)。
为了指定一个 `in-out` 参数,可以在形参类型前加 `inout` 前缀。但是你不可以对可变参数或返回值类型使用 `inout`。关于这种形参的详细讲解请参阅 [输入输出参数](../02_language_guide/06_Functions.md#in-out-parameters)。