对象定义
变量定义:
func var_def()
{
var i1: Int
var i2: Int = 5
var i3: Int, i4: Int = 8, i5: Int
var i6, i7, i8: Int
i1 = 5;
i1 = 8;
i2 = 8
}
常量定义:
func let_def()
{
let i1: Int
let i2:Int = 5
let i3:Int, i4:Int = 8, i5:Int
let i6, i7, i8: Int
i1 = 5;
//i1 = 8;
//i2 = 8
}
总结:
- let或var定义对象在使用之前必须初始化,使用未初始化let或var定义对象编译error,增强代码安全性
- var定义对象read/write,如果var定义对象未进行write,编译warning,编译器建议使用let定义对象
- let定义对象read only,如果let定义对象未进行read,编译warning,编译器建议删除冗余代码
- let类似oc中const,但有所区别,let只能初始化或赋值一次,const则不允许赋值,swift中初始化和赋值不再区分
类型推断
对象定义可不显式指定类型,而根据初始化式类型推断出对象类型,节省代码敲入量,显然此时var或let必须提供初始化式
func type_infer()
{
let ci1 = 5
let ci2 = ci1
let cd1 = 5.8
let cd2 = cd1
//let c;
var vi1 = 5
var vi2 = vi1
var vd1 = 5.8
var vd2 = vd1
//var v
}