swift5基本语法-泛型函数和泛型类型
Swift中泛型可以将类型参数化,提高代码复用率,减少代码量。
一、泛型函数
【 例 】
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
var a = 10
var b = 20
swapValues(&a, &b)
print(a,b)
}
func swapValues(_ a: inout Int, _ b: inout Int) {
let temp = a
a = b
b = temp
}
}
上述代码中,我们的a,b都是Int类型,如果我们有其它类型的,比如double,float,long double
等类型,就不需要函数重载,可以直接通过泛型来解决这个场景的需求。
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
var a = 10
var b = 20
swapValues(&a, &b)
print(a,b)
var a2 = 10.0
var b2 = 20.0
swapValues(&a2, &b2)
print(a2,b2)
}
func swapValues<T>(_ a: inout T, _ b: inout T) {
let temp = a
a = b
b = temp
}
}

泛型适用于
数组,字典,枚举
。
网友评论