Tuple

Posted by Genie on June 5, 2020

Tuple

交换swap

1
2
3
4
5
6
7
func swapME<T>(c: inout T, d: inout T) {
    (c, d) = (d, c)
}

var test1 = 1
var test2 = 2
swapME(c: &test1, d: &test2)

参数传递通过2种方式:1.引用类型(指针)2.值传递
通过inout改变函数外面的var的值【值类型参数以引用类型传递】copy 过程

1
2
//系统方法
swap(&test1, &test2)

作为返回值

1
2
3
4
5
6
7
func doSomething<T>(By someOne: T) -> ([String: String], T) {
    return (["1": "2"], someOne)
}

let (dict, by) = doSomething(By: "me")
print(dict)
print(by)

Void

系统定义,是一个空多元组别名

1
public typealias Void = ()

Void 本质是一个无元素的多元组

try:

1
2
let num = 10
print (num,0,0)

可怕的多元组无处不在