美文网首页门外汉自学Swift
20170619基础知识-泛型

20170619基础知识-泛型

作者: 花间提壶蛋大厨 | 来源:发表于2017-06-19 22:36 被阅读0次

1、泛型:在程序代码中,定义一些可变的部分,在运行的时候指定

func isEquals(a:T,b:T)  -> Bool {return a == b}

T:Comparable  占位符后面加协议,称为泛型约束

2、占位符T,不经可以替代参数类型,还可以替代返回值类型

func isEquals(a: T, b: T) -> T {}

多类型参数

func isEquals(a: T, b: U) -> Bool {}

structStringQueue {

varitems = [T]()

mutatingfuncqueue(item :T) {

items.append(item)

}

mutatingfuncdequeue() ->T? {

ifitems.isEmpty{

returnnil

}else{

returnitems.remove(at:0)

}

}

}

3、泛型支持扩展,与其他扩展没有区别

structQueue {

varitems = [T]()

mutatingfuncqueue(item :T) {

items.append(item)

}

mutatingfuncdequeue() ->T? {

ifitems.isEmpty{

returnnil

}else{

returnitems.remove(at:0)

}

}

}

extensionQueue{

funcpeek(position :Int) ->T? {

ifposition <0||position >items.count{

returnnil

}else{

returnitems[position]

}

}

}

vargenericDoubleQueue =Queue()

genericDoubleQueue.queue(item:3.26)

genericDoubleQueue.queue(item:8.86)

genericDoubleQueue.queue(item:1.99)

genericDoubleQueue.queue(item:7.68)

print(genericDoubleQueue.peek(position:2)!)

相关文章

  • 20170619基础知识-泛型

    1、泛型:在程序代码中,定义一些可变的部分,在运行的时候指定 func isEquals(a:T,b:T) -> ...

  • java泛型你需要知道的一切

    最近准备回归下基础知识,先对泛型进行下总结,从以下几个方面进行阐述: 泛型的引入及工作原理 泛型注意事项及带来的问...

  • 《Java编程思想 Generics》读书笔记一——泛型的基础知

    该学习笔记只记录了《Java编程思想 泛型》一章前面部分的基础知识,这里没有跟泛型无关的的知识。 不使用泛型怎么写...

  • 详解Java泛型之2——详解通配符

    上一篇文章中我们介绍了泛型的基础知识点,详情请参考文章: 详解Java泛型之1——入门泛型必懂的知识点[https...

  • 泛型 & 注解 & Log4J日志组件

    掌握的知识 : 基本用法、泛型擦除、泛型类/泛型方法/泛型接口、泛型关键字、反射泛型(案例) 泛型 概述 : 泛型...

  • 【泛型】通配符与嵌套

    上一篇 【泛型】泛型的作用与定义 1 泛型分类 泛型可以分成泛型类、泛型方法和泛型接口 1.1 泛型类 一个泛型类...

  • 泛型的使用

    泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法 泛型类 泛型接口 泛型通配符 泛型方法 静态方法与...

  • Java 泛型

    泛型类 例如 泛型接口 例如 泛型通配符 泛型方法 类中的泛型方法 泛型方法与可变参数 静态方法与泛型 泛型上下边...

  • 探秘 Java 中的泛型(Generic)

    本文包括:JDK5之前集合对象使用问题泛型的出现泛型应用泛型典型应用自定义泛型——泛型方法自定义泛型——泛型类泛型...

  • Web笔记-基础加强

    泛型高级应用 自定义泛型方法 自定义泛型类 泛型通配符? 泛型的上下限 泛型的定义者和泛型的使用者 泛型的定义者:...

网友评论

    本文标题:20170619基础知识-泛型

    本文链接:https://www.haomeiwen.com/subject/jbbnqxtx.html