处支持任何语言都支持的整数类型、浮点类型、布尔类型、字符串类型等,还指出一些特殊的类型,如元组类型、可选类型。可是无论什么类型,在Swift中,数据类型名称都是以大写字母开头的。数组
这里不一 一赘述,挑出一些我的认为有必要的写出来。iphone
1,为了增长数组的可读性,Swift语言增长了下划线(_)来分割数值中数值。好比100000000,不少人能一眼反映出是1亿,可是若是是1_0000_0000就很容易识别了。这里的_不必定要是四个一组的,实际上是支持任意组合的,好比下面写法都是合法的。this
let value1 = 12_000_000 let value2 = 1_000_000.000_001 var value3:Int = 1_00_000
2,类型强转,感受跟Java同样,很少说
spa
3,类型别名code
书中说Swift中的类型别名相似于C/C++中typedef,博主对其了解甚少,这里就一带而过了。至于在Swift中的用法则是这样的:对象
须要使用typealias关键字,语法以下ip
typealias 类型别名 = 原始类型 //like this: typealias NewType = Int32 var newValue:NewType = 123 //定义时NewType和Int32是彻底同样的
不过我的暂时没有想到其使用场景,懂的人还请说明下。字符串
4,元组(tuples)类型,Swift语言提供的一中新数据类型。class
其实元组说白了就是包含多个值的数据类型,好比:变量
let product = (20,"iphone6",5888) //println或者print是Swift语言的打印命令至关于C语言里面的printf()或者Java的sysout println(product) //结果为 (20,"iphone6",5888)
那么如何获取一个元组的值呢?其实很简单。
var product = (20,"iphone6",5888) var (id,name,price) = product //分别将product的三个值非为三个变量id,name和price println("id=\(id) name=\(name) price=\(price)" ) //其中 \(变量名/常量名) 意思是:将变量名和常量名值插 //入到字符串中
若是只想获取其中某些值的话,其余字段值能够用_来占位,好比
var product = (20,"iphone6",5888) var (_,name,_) = product println("name=\(name) " )
其实还有一种更为简单的获取相关元素值的方法,那就是为每个元素命名,引用的方法和引用对象属性相同。
let product = (30,name:"iphone6",price:5999) println(product.name)
上面这种方法是否是看起来更见通俗易懂呢?
5,可选类型,书中云其主要是为了解决对象变量或者常量为空的状况。可是鄙人目前还有绕明白,就先不忽悠了,各位看官自行百度这里吧。等我懂了再来补上。
// TODO 可选类型的概念