iOS学习笔记47-Swift(七)泛型

一、Swift泛型介绍

泛型是为Swift编程灵活性的一种语法,在函数、枚举、结构体、类中都得到充分的应用,它的引入可以起到占位符的作用,当类型暂时不确定的,只有等到调用函数时才能确定具体类型的时候可以引入泛型。
我们之前实际上已经使用过泛型,例如:SwiftArrayDictionary类型都是泛型集。

你可以创建一个Int数组,也可创建一个String数组,或者甚至于可以是任何其他Swift的类型数据数组。同样的,你也可以创建存储任何指定类型的字典(Dictionary),而且这些类型可以是没有限制的。

我们为什么要使用泛型呢?下面有个例子可以简单说明使用泛型的好处

//定义一个函数,要求追加数组数据到指定一个数组中
func appendIntToArray(src:[Int],inout dest:[Int])
{
    // 遍历并加到数组后边
    for element in src{
        dest.append(element)
    }
}
//使用copyIntArray添加整形数组数据
var arr = [2,5]
appendIntToArray([12,9], dest: &arr)
print(arr) // [2,5,12,9]

//那么再要求让你实现添加字符串呢,好吧重写一个
func appendStringToArray(src:[String],inout dest:[String])
{
    for element in src{
        dest.append(element)
    }
}
//使用copyStringArray添加字符串数组数据
var strArr = ["oc","swift"]
appendStringToArray(["php", "C#"], dest: &strArr)
print(strArr) // ["oc", "swift", "php", "C#"]
//如果有需要你实现添加其他类型呢?
//是不是每个类型都需要写一个对应的函数去实现,那这样就太复杂了!这时候我们就需要使用泛型
//定义泛型函数,在普通函数名后面加上<T>,T是个类型占用符,可以表示任何类型
func appendArray<T>(src:[T],inout dest:[T])
{
    for element in src
    {
        dest.append(element)
    }
}
//看到如此强大了吧?然后随意使用
var arr2 = [5,8]
appendArray([9,58], dest: &arr2) //appendArray自动识别要添加的数组数据类型
print(arr2) //[5, 8, 9, 58]
var strArr2 = ["renhairui","hello"]
appendArray(["nihao", "helloworld"], dest: &strArr2)
print(strArr2) //["renhairui", "hello", "nihao", "helloworld"]
var doubleArr = [1.2,3.4
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值