上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 102 下一页
摘要: 类型参数化 在scala中,类型参数化(类似于泛型)使用方括号实现,如:Foo[A],同时,我们称Foo为高阶类型。如果一个高阶类型有2个类型参数,则在声明变量类型时可以使用中缀形式来表达,此时也称该高阶类型为中缀类型,示例如下: class Foo[A,B] val x:Int Foo Strin 阅读全文
posted @ 2018-10-09 15:36 zzfx 阅读(393) 评论(0) 推荐(0)
摘要: Java泛型中的协变和逆变 一般我们看Java泛型好像是不支持协变或逆变的,比如前面提到的List<Object>和List<String>之间是不可变的。但当我们在Java泛型中引入通配符这个概念的时候,Java 其实是支持协变和逆变的。 看下面几行代码: 可见在Java泛型中通过extends关 阅读全文
posted @ 2018-10-09 14:39 zzfx 阅读(208) 评论(0) 推荐(0)
摘要: 泛型的定义:泛型是JDK 1.5的一项新特性,它的本质是参数化类型 ParameterizedType,即带有类型参数的类型。 类型参数。 https://www.cnblogs.com/baiqiantao/p/7475696.html 泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言 阅读全文
posted @ 2018-10-08 22:23 zzfx 阅读(265) 评论(0) 推荐(0)
摘要: Here’s a generic version of the same code: struct Stack<Element> { var items = [Element]() mutating func push(_ item: Element) { items.append(item) } 阅读全文
posted @ 2018-10-08 22:07 zzfx 阅读(375) 评论(0) 推荐(0)
摘要: Relational Algebra Relational Algebra is the mathematical basis for the query language SQL Introduction. So now you have learn how to design good conc 阅读全文
posted @ 2018-10-08 21:40 zzfx 阅读(1241) 评论(0) 推荐(0)
摘要: 1、类型系统; 2、函数指令系统; 3、运行时系统; 4、api系统; 运行时系统包含: 1)类型运行时系统; 2)函数的动态派发系统; 3)内存管理、多线程(cpu、内存基本使用)、异常处理等; 指令系统依赖与类型系统,类型系统为函数指令系统提供上线文(编译时和运行时)。 类型系统:主要包含内存布 阅读全文
posted @ 2018-09-27 15:00 zzfx 阅读(785) 评论(0) 推荐(0)
摘要: Overview You can work with types declared in Swift from within the Objective-C code in your project by importing an Xcode-generated header file. This 阅读全文
posted @ 2018-09-27 11:51 zzfx 阅读(340) 评论(0) 推荐(0)
摘要: Objective-C没有命名空间,为了避免冲突,Objective-C的类型一般都会加上两到三个字母的前缀,比如Apple保留的NS和UI前缀,各个系统框架的前缀,各个系统框架的前缀SK(StoreKit),CG(CoreGraphic)等。 Swift的命名空间是基于module而不是在代码中显 阅读全文
posted @ 2018-09-26 20:01 zzfx 阅读(513) 评论(0) 推荐(0)
摘要: 类型系统是编程语言的基石 Type systems are generally formulated as collections of rules for checking the “con- sistency” of programs. This kind of checking exposes 阅读全文
posted @ 2018-09-26 17:39 zzfx 阅读(231) 评论(0) 推荐(0)
摘要: 泛型类型是高阶类型的必经之路。 阅读全文
posted @ 2018-09-26 17:07 zzfx 阅读(192) 评论(0) 推荐(0)
摘要: 具体类型:能够初始化; 抽象类型:不能直接初始化; 类型参量:泛型和高阶类型的通道; 类型约束:泛型到高阶类型的通道。 基础类型; 结构类型; 容器类型; 高阶类型; 泛型、抽象类型: 类型是否能够直接初始化。 低阶类型与高阶类型的转化。 阅读全文
posted @ 2018-09-26 16:49 zzfx 阅读(188) 评论(0) 推荐(0)
摘要: 类型转化:任意类型、继承体系类型、基础类型的平级转化; 类型变化:值类型与容器类型的迭代变换。适配器模式、代理模式等。 阅读全文
posted @ 2018-09-26 16:46 zzfx 阅读(265) 评论(0) 推荐(0)
摘要: Swift 的 extension 机制很强大,不仅可以针对自定义的类型,还能作用于系统库的类型,甚至基础类型比如 Int。当在对系统库做 extension 的时候,就会涉及到一个命名冲突的问题。Objective-C 时代的通行解决办法是在扩展方法名字的最前面加上 XXX_ 形式的前缀。这种形式 阅读全文
posted @ 2018-09-25 17:42 zzfx 阅读(766) 评论(0) 推荐(0)
摘要: 最近在看一些Swift开源库的时候,发现了一些优秀的开源库都使用了命名空间,例如Kingfisher这个开源库中,就针对UIImage,UIImageView,UIButton做了命名空间的扩展。通过logoImageView.kf.setImage(url)这种方式能够很好地避免扩展的命名冲突,而 阅读全文
posted @ 2018-09-25 17:40 zzfx 阅读(200) 评论(0) 推荐(0)
摘要: Functor,即函子,是 Haskell 中普遍存在的、最基本的类型类。你可以用以下两种方式来理解 Functor: 它代表某种容器,该容器能够将某一函数应用到其每一个元素上。 它代表某种“可计算上下文”(computational context)。 https://www.cnblogs.co 阅读全文
posted @ 2018-09-25 17:35 zzfx 阅读(220) 评论(0) 推荐(0)
摘要: class GooClass { deinit { print("aaaaaaaa") } var str = "gooClass" } struct GooStruct { var goo = GooClass() } extension ViewController{ var gooStruct 阅读全文
posted @ 2018-09-25 15:06 zzfx 阅读(201) 评论(0) 推荐(0)
摘要: Locations for Public Frameworks Third-party frameworks can go in a number of different file-system locations, depending on certain factors. Most publi 阅读全文
posted @ 2018-09-21 19:11 zzfx 阅读(115) 评论(0) 推荐(0)
摘要: 能自证的任意类型即为动态类型; 扩展:能自证的继承体系类型即为动态类型(小); 阅读全文
posted @ 2018-09-21 14:31 zzfx 阅读(128) 评论(0) 推荐(0)
摘要: 1、编译器只对确定类型进行检查; 2、类型转换是否能够成功有没有明确的判断;编译时or运行时; 3、任意类型不参与编译时类型检查; 任意类型不能直接参与运算,必须转化为确定的类型; 任意类型转化为确定类型是否需要显式转化。 强类型:类型检查(编译时)和转化(运行时)都有明确的状态信息; 中类型:类型 阅读全文
posted @ 2018-09-21 14:04 zzfx 阅读(262) 评论(0) 推荐(0)
摘要: 动态类型:变量的实际类型信息能够在在运行时(获取)确定;编译时不做类型检查。 弱类型:变量的类型信息能够在运行时改变。 阅读全文
posted @ 2018-09-21 12:56 zzfx 阅读(167) 评论(0) 推荐(0)
上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 102 下一页