Compare commits
3 Commits
Ch-Optiona
...
Ch-Types
| Author | SHA1 | Date | |
|---|---|---|---|
| 67d81e37b3 | |||
| 872d7af8a3 | |||
| 24d88f684a |
@ -97,7 +97,7 @@ class Person {
|
||||
|
||||
```swift
|
||||
class Residence {
|
||||
var rooms = [Room]()
|
||||
var rooms: [Room] = []
|
||||
var numberOfRooms: Int {
|
||||
return rooms.count
|
||||
}
|
||||
|
||||
@ -141,7 +141,7 @@ Swift 为不确定类型提供了两种特殊的类型别名:
|
||||
这里有个示例,使用 `Any` 类型来和混合的不同类型一起工作,包括函数类型和非类类型。它创建了一个可以存储 `Any` 类型的数组 `things`:
|
||||
|
||||
```swift
|
||||
var things = [Any]()
|
||||
var things: [Any] = []
|
||||
|
||||
things.append(0)
|
||||
things.append(0.0)
|
||||
|
||||
@ -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)。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user