Swift 的可选(Optional)类型,用于处理值缺失的情况。可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值"。如果没有值,就是nil
Swfit语言定义后缀?作为命名类型Optional的简写,换句话说,以下两种声明是相等的:
var optionalInteger: Int? var optionalInteger: Optional
如果用 变量后面用!,表示可以强制解析该变量,当该变量没有值时,会出现运行时错误.
强制解析
当你确定可选类型确实包含值之后,你可以在可选的名字后面加一个感叹号(!)来获取值。这个感叹号表示"我知道这个可选有值,请使用它。"这被称为可选值的强制解析(forced unwrapping)。
案例如下:
import Cocoa var myString:String? myString = "Hello, Swift!" if myString != nil { print(myString) }else{ print("myString 值为 nil") }自动解析
你可以在声明可选变量时使用感叹号(!)替换问号(?)。这样可选变量在使用时就不需要再加一个感叹号(!)来获取值,它会自动解析。
实例如下:
import Cocoa var myString:String! myString = "Hello, Swift!" if myString != nil { print(myString) //输出此代码 }else{ print("myString 值为 nil") }
记住下面的
var varA :String ? (表示为可选类型,如果没有值的时候就是nil)
访问该变量的方式:print(\varA!)
var varB: String!(表示为可选类型,如果没有值的时候就是nil)
访问该变量的方式:print(\varA)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)