关闭

swift 泛型

145人阅读 评论(0) 收藏 举报
分类:

下面是一个泛型的函数

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




0
0
查看评论

Swift 泛型(十九)

泛型 泛型代码可根据自定义需求,写出适用于任何类型、灵活且可重用的函数和类型,避免重复的代码,用一种清晰和抽象的思维表达代码的意思 1.泛型用途 // 普通的函数,用来交换两个值 func swapTwoInts(inout a: Int, inout b: Int) { ...
  • huangchentao
  • huangchentao
  • 2014-06-20 17:35
  • 3355

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

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

Swift泛型和泛型函数

泛型(generic)可以使我们在程序代码中定义一些可变的部分,在运行的时候指定。使用泛型可以最大限度地重用代码、保护类型的安全以及提高性能。在Swift集合类中,已经采用了泛型。一、一个问题的思考怎样定义一个函数来判断两个参数是否相等呢?如果参数是Int类型,则函数定义如下:func isEqua...
  • tonny_guan
  • tonny_guan
  • 2014-08-28 18:54
  • 8866

Swift3.0 泛型<T>

泛型能够让开发者编写自定义需求已经任意类型的灵活可用的的函数和类型。能够让我们避免重复的代码。用一种清晰和抽象的方式来表达代码的意图。 1.泛型解决的问题 下面是一个非泛型的例子 func swapTwoIntValue(inout a:Int,inout b:Int){ //使用ino...
  • youshaoduo
  • youshaoduo
  • 2017-02-04 16:42
  • 10877

Swift 泛型参数

原文:http://www.cocoachina.com/newbie/basic/2014/0612/8802.html 本页内容包括:泛型形参语句和泛型实参语句   本节涉及泛型类型、泛型函数以及泛型构造器的参数,包括形参和实参。声明泛型类型、函数或构造器...
  • sqc3375177
  • sqc3375177
  • 2014-06-16 22:16
  • 2387

iOS --- Swift中泛型(Generic)的基本使用

泛型(Generic)是Swift新引入的强大特征,可以写出根据自我需求定义、适用于任何类型的,灵活且可重用的函数和类型。可以避免重复的代码,用一种清晰和抽象的方式来表达代码的意图。
  • icetime17
  • icetime17
  • 2015-12-21 21:27
  • 842

Swift 泛型函数 类型约束(十三)

非泛型函数/// 交换两个整形的值 func swapTwoNumbersInt(inout a: Int, inout _ b:Int) { let temp = a a = b b = temp }/// 交换两个字符串的值...
  • sinat_30162391
  • sinat_30162391
  • 2016-04-17 23:50
  • 3642

swift详解之十二-----------------泛型

泛型注:本文详细讲解泛型,对写一些公共方法,共用的东西的时候很有帮助。想成为一个优秀的程序员吗?这个必须掌握泛型代码可以让你写出根据自我需求定义、适用于任何类型的,灵活可重用的函数和类型。下面直接看一个简单的示例 , 泛型其实就是在写的时候不指定是哪种类型 , 只有再用得时候才指定类型 ,这些类型可...
  • u010586842
  • u010586842
  • 2015-08-27 00:25
  • 2300

Swift中泛型的属性

func exchange<T>(a:inout T, b: inout T) -> Void { let j = a a = b b = j}var x = 10 var y = 20 print(x,y)exchange(a: &x, b: &...
  • J_mine
  • J_mine
  • 2017-10-24 18:35
  • 145

swift函数式编程(高级)-闭包,协议,扩展,泛型,可空链

swift函数式编程实际是非常灵活的,在函数的高级应用中,实际上还包括了闭包,协议,泛型等等oc中没有的概念,按照顺序介绍这些概念和应用。 一:闭包 闭包实际就是objective-c中的block,其实际就是定义一个函数体,并将其作为参数传递,它既可以是有名的,也可以是匿名的函数 1.1 闭...
  • Dog_Tang
  • Dog_Tang
  • 2016-01-08 12:01
  • 639
    个人资料
    • 访问:38387次
    • 积分:1240
    • 等级:
    • 排名:千里之外
    • 原创:86篇
    • 转载:15篇
    • 译文:0篇
    • 评论:0条
    文章分类