-
自动推导:var与let类型是根据右侧的代码,自动推导对应类型。在开发中极少使用直接指定类型,通常是自动推导
-
由于不可变的更安全,一般都是使用let,只有在提示或者需要改变时才修改为var
-
在swift中不存在基本数据类型,都是结构体
-
在swift中对类型要求异常严格,不同类型数据之间是不允许直接运算,不允许做默认的隐式转换,只有在所有数据类型一致时才可以相互运算。其中经常使用强制类型转换
类型(xxx)
-
nil不是任何数据类型,也是不能直接进行运算
-
if表达式中没有非0即真的情况,所以
if x{}
是错误的,没有这种表达。其中if表达式里声明的var或let数据,作用域只是在{}
中 -
guard语句比if语句在解包(Optional)时候,避免在大量串行解包的时候出来叠加。
// guard :在解包之后,a的作用域还可以使用
var a:String? = "aaa"
guard let b = a else { print("a == nil")
print(b)// if :在解包之后,a的作用域只有在{}起作用 var a1:String? = "aaa" if let b = a { print(b)}
-
在swift3.0中,数组基本没什么变化,可以任意类型的元素,也可以自行判断数组的类型,只是如果元素是不一致的类型,需要声明为Any类型
let arr2:Any? = ["aa", "bb", 1, 1.21]
print(arr2)let arr3 = ["aaa", "a", 1, 12.2] as [Any?] print(arr3)
网友评论