Swift中的问号?和感叹号!

来源:互联网 发布:微软sql server官网 编辑:程序博客网 时间:2024/05/16 00:59

Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:

var stringValue : String //error: variable 'stringValue' used before being initialized //let hashValue = stringValue.hashValue // ^ let hashValue = stringValue.hashValue

Optional其实是个枚举,里面有NoneSome两种类型。

声明为Optional只需要在类型后面紧跟一个?即可。如:
然后怎么使用Optional值呢?问号的意思是询问是否响应后面这个方法,如果是nil值,固然不能响应后面的方法,所以就会跳过,如果有值,可能就会拆包(unwrap),然后对拆包后的值执行后面的操作

另外,对于Optional值,不能直接进行操作,否则会报错

!表示“我确定这里的的strValue一定是非nil的,调用吧
0 0
原创粉丝点击