🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 前言 在每一门编程语言中,都有一个特定的类型系统(Type System)。类型系统是一门编程语言最核心也 是最基础的部分。我们这里说的类型系统,可以简单理解为以下两个部分: * 一组基本类型构成的PTS(Primary Type Set,基本类型集合); * PTS上定义的一系列组合、运算、转换规则等。 ### 入门 **一切皆是映射** 在计算机中,任何数值都是以一组比特(01)组成的,硬件无法区分内存地址、脚本、字符、整数、以及浮点数。这个时候,我们使用类型赋予一组比特以特定的意义。 类型(Type),本质上就是内存中的数值或变量对象的逻辑映射。 类型系统用于定义如何将编程语言中的数值和表达式归类为许多不同的类型,如何操作这些类型,这些类型如何互相作用等。 类型系统在各种语言之间有非常大的不同,主要的差异存在于编译时期的语法,以及运行时期的操作实现方式。 **容器有大小,数据有不同** 在 Kotlin 中,所有东西都是对象,在这个意义上讲所以我们可以在任何变量上调用成员函数和属性。有些类型是内置的,因为他们的实现是优化过的。但是用户看起来他们就像普通的类。 任何语言都有自己的数据类型,Java语言里面的数据类型包含基本类型和引用类型。在Java里面存储数值、字符、布尔值可以使用基本数据类型也可以使用引用类型。 **Kotlin则不区分基本类型和引用类型,统一都是引用类型**。为了表示数值、字符、布尔值、数组、集合等,Kotlin帮我们定义了很多类型。我们**也可以称帮我们定义好的这些类型为“内置类型”**。 * 我们也可以把数值、字符、布尔值这些相对基础、简单的类型称为“基本内置类型”。 * 把数组、集合此类相对复杂的类型称为“复杂内置类型”。