自动推导: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)
笔记---基础知识
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...