上QQ阅读APP看书,第一时间看更新
第6章 类型系统
类型(Types)是语言中最为基本的要素,用于描述数据的表达结构。但Julia的类型系统是非常独特的,有着更为抽象、更为高层的语义。在该类型系统中,不仅仅数值有类型,函数、表达式,甚至是类型本身与代码符号都有特定的类型。可以说,一切语言要素在Julia中都对应着某个类型,都是类型系统的一部分。在这种广泛、统一、完备、动态的类型系统下,Julia的各种语言要素都是程序中可操纵的对象。
正是基于强大的类型系统,Julia提供了对面向对象、函数式及泛型编程等多种范式的支持,不但能够操作函数对象,对类型进行参数化,也能够进行多态分发(Multiple Dispatch),使得开发更为灵活、适应性更强。开发者可以宽松地使用类型,快速地实现逻辑;也可以在必要的时候严格地使用明确的类型,获得更好的性能。
在第3章“数值系统”中已经介绍了Julia中的数值基本类型,本章将介绍类型系统,如抽象类型(Abstract Types)、元类型(Primitive Types)、复合类型(Composite Types)以及类型的参数化等内容,之后还会介绍一些常用数集的基本使用方法。