swift中!和?swift
swift定义常量变量时只是定义了,并不会默认赋值,(也就是没有初始化,变量在使用前必须初始化,不然会报错 variable ‘变量名/常量名’ used before being initialized). 除了可选类型会默认赋值为nil.it
swift中一个很重要的optional的类型,它是个结构体,俩个值None和Some(T).io
一个表示有某个特定类型的值,一个不存在值,即nil.变量
swift只有定义为optional类型的变量或常量才能够赋值为nil,其余任何类型定义的非可选的变量或常量都不能够。sed
?定义的必须解析才可用值。!定义的必须有值才能使用,不然跟强制解析一个为nil的可选变量同样会报错。结构体