1.基本数据类型
swift中两种数据类型,var 可变,let不可变,然后根据值来进行自动推导
如下所示:
let x = 10 //不可变类型,一经创建则不可更改
// 如果再执行下面这句则会报错
x = 20
var y = 10.5//可变类型,执行下面语句不会报错
y = 30
print(x+y) //这句会报错,因为数据类型不同
在swift中是没有自动转换的,如果我们在OC中执行
int a = 10;
float b = 10.5;
NSLog(@“%f”,a+b);//代码没有问题不会报错,但是在swift中不同数据类型之间是不能进行计算的
//如果我们想要使它们可以进行计算,我们需要进行类型转换
//上面的x+y 我们可以这样做:
print(x + Int(y))
print(Double(x) + y)
注:Int() 在api中是public struct Int
即结构体类型,事实上大部分的基本数据类型在swift3之后都被定义成为结构体类型
let z:Double = 20.3
我们还可以这样初始化变量,即为它直接指定数据类型,但是我们通常不用指定类型,都是自动推导
var 类型有默认值,默认值为nil,let类型没有默认值
2.可选数据类型
let x : Optional = 10
let y:Int? = nil //?表示可选整数类型
print(x+y) //如果直接这样执行,会报错可选类型在参与计算之前一定要先解包
print(x!+y!) //可以这样解包进行运算,但是要注意值不能为空
关于可选性数据类型我们要注意:
1.!表示强行解包,从可选值中获取一个非空值强行解包
2.!要解包的变量一定不能为空,否则会崩溃
3.程序中要慎用!
4.在我们真正使用的时候再进行解包,计算之前一定要先解包才能参与计算
swift与OC最大不一样之处就是加了可选性数据类型,关于可选性数据类型其他要注意的,后续还会更新
网友评论