swift 泛型

下面是一个泛型的函数

func SwapTwoValues <T> (inout a: T,inout b :T){
    let  tempValue = a
    a = b
    b = tempValue
}
这个函数主体、功能跟上面的例子类似,用来交换两个同样类型的值,但是这个函数用 T 占位符来代替实际的类型。并没有指定具体的类型,但是传入的a ,b 必须是同一类型T。在调用这个函数的时候才能指定 T 是那种具体的类型。还有函数名后跟的那个 <T> 是函数定义的一个占位类型名,并不会查找T的具体类型

SwapTwoValues(&oneInt, b: &twoInt)
print("oneInt:\(oneInt),twoInt:\(twoInt)") // oneInt:3,twoInt:4

var oneStr = "hello"
var twoStr = "world"

SwapTwoValues(&oneStr, b: &twoStr)
print("oneStr:\(oneStr),twoStr:\(twoStr)")// oneStr:world,twoStr:hello

var oneDouble = 10.01
var twoDouble = 20.02
SwapTwoValues(&oneDouble, b: &twoDouble)
print("oneDouble:\(oneDouble),twoDouble:\(twoDouble)")// oneDouble:20.02,twoDouble:10.01




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值