1.常量和变量
let用来声明一个常量.常量一经赋值不允许修改 let x =10
var用来声明一个变量.赋值之后可以修改 vary =2.2
swift中的类型可以采用自动推动机制--根据等号右边的值,自动推到一下他的类型
swift中没有隐式转换;
不同类型之间不能进行运算;
强制运算的话,需要对类型进行强制转换;强制转换采用类型() let sum =Double(x) + y
可以通过指定变量的类型: let(var)变量名:类型 letz :Double=11 letsum1 = z + y
建议大家先声明成let的,当需要改变的时候,编译器会提示我们改变
2.可选项
1.可选项有可能有值,有可能没值;有2种可能需要我们程序员自己去判断一下
2.可选项不能直接运算
可选项--变量或者常量指定类型后加一个?
可选项没有赋值,默认是一个nil
可选项如果需要运算的话,需要强制解包.强制解包就是在可选项后边加入一个!.强制解包是程序员自己加的,自己加的自己负责.
4.如果可选项没有值,我们进行了强制解包,会发生崩溃!
fatal error: unexpectedly found nil while unwrapping an Optional value
示例:
var num1:Double=10.1
print(num1)//10.1
var num2:Double? =10.1
print(num2)//Optional(10.1)
var num3:Double?
print(num3)//nil
let num4:Double=20.2
//可选项要进行运算的话,需要解包,在可选项后边加一个!
//但是如果有可选项是没有赋值的话fatal error: unexpectedly found nil while unwrapping an Optional value
//解决办法,加一个if判断
if num3 !=nil{
let num = num4 + num3!
print(num)
}
//苹果推出了新的运算符??
//??前面的可选项如果是nil,则取后边的值,如果不是nil,则取可选项解包的值
let sum = (num3 ?? 10) + num4;
print(sum)