这一章节的内容是上一章节的延续,大标题是『值与类型』,上一篇博客介绍值中的变量和常量,这一篇介绍值的类型。
3.2 类型
3.2.1 类型分类
从使用角可以将类型分为:数值类型、布尔类型、字符串、数组、枚举、结构体、集合类型(链表、集合等)以及类类型。常用的是数值类型、布尔类型和字符串。数组和集合类型可以当作数据结构,用的时候再学习也可以。传统语言有值类型和对象类型之分,现代语言都是面向对象语言,因此都使用对象(引用)类型。下面是三种语言对在类型方面的详细规则:
- Swift:类是引用类型,其它类型都是值类型,不过所有类型都属于对象类型
- Kotlin:不区分引用和值,所有类型都是对象类型
- Dart:不区分引用和值,所有类型都是对象类型
现代语言增强了安全性,这三种现代语言都提供可空类型,只是语法不同。下面看一下具体的细节
- Swift语言
所有的类型都是面向对象类型,不再有像Java一样基本类型为int然后再提供包装类Integer,常用的数值类型有Int,Float,Double,UInt,UFloat,UDouble,带U的类型表示无符号类型。我们详细列出各个类型,具体如下所示:
整型:Int,Int8,Int16,Int32,Int64,没有Short和Long,以及用U修饰的无符号类型
浮点型:Float,Float8,Float16,Float32,Float64,Double,以及用U修饰的无符号类型
字