Julia语言程序设计
上QQ阅读APP看书,第一时间看更新

第6章 类型系统

类型(Types)是语言中最为基本的要素,用于描述数据的表达结构。但Julia的类型系统是非常独特的,有着更为抽象、更为高层的语义。在该类型系统中,不仅仅数值有类型,函数、表达式,甚至是类型本身与代码符号都有特定的类型。可以说,一切语言要素在Julia中都对应着某个类型,都是类型系统的一部分。在这种广泛、统一、完备、动态的类型系统下,Julia的各种语言要素都是程序中可操纵的对象。

正是基于强大的类型系统,Julia提供了对面向对象、函数式及泛型编程等多种范式的支持,不但能够操作函数对象,对类型进行参数化,也能够进行多态分发(Multiple Dispatch),使得开发更为灵活、适应性更强。开发者可以宽松地使用类型,快速地实现逻辑;也可以在必要的时候严格地使用明确的类型,获得更好的性能。

在第3章“数值系统”中已经介绍了Julia中的数值基本类型,本章将介绍类型系统,如抽象类型(Abstract Types)、元类型(Primitive Types)、复合类型(Composite Types)以及类型的参数化等内容,之后还会介绍一些常用数集的基本使用方法。