该!
标记用于Swift中的可选值,以提取其包装后的值,但无需以下即可提取该值!
:
var optionalString: String? = "optionalString"
println(optionalString)
另一个使用的示例!
:
var optionalString: String? = "optionalString"
println(optionalString!)
上面的两个代码都获得了正确的值,所以我想知道using和not using之间有什么区别!
,如果可选值是nil或其他,它是否只是在运行时检测错误?提前致谢。
正如其他人已经指出的那样,正式文档是一个很好的起点。该文档特别涵盖了该主题。
根据官方文档:
尝试使用!访问不存在的可选值会触发运行时错误。在使用!之前,请始终确保可选值包含非nil值。强制释放其价值。
println()
可能不是测试!
操作员工作方式的最佳方法。没有它,println()
将打印值或nil,使用它将打印值或崩溃。
主要区别在于,当我们尝试将可选值分配给另一个值或在函数的参数中使用它时。
假设optionalValue
是一个可选的整数。
let actualValue = optionalValue
使用此分配,actualValue
现在只是另一个可选的整数。我们根本没有解开价值。我们有一个可选的而不是整数。
与此同时,
let actualValue = optionalValue!
现在我们要强制展开。实际值将是一个整数,而不是一个可选的整数。但是,此代码将导致运行时异常为optionalValue为nil。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句