《Swift语言基础》之数据类型

处支持任何语言都支持的整数类型、浮点类型、布尔类型、字符串类型等,还指出一些特殊的类型,如元组类型、可选类型。可是无论什么类型,在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 可选类型的概念