如下图所示,变量与运算符之间的空格应该保持对称,对于双目运算符,左右两边要么都有空格,要么都不能有空格,否则会报错(会被判断为闭包表达式);对于单目运算符,不应有空格,如:squares++,而不应写成squares ++.
as? 操作符会执行转换并返回期望类型的一个选项值,如果转换成功则返回的选项包含有效值,否则选项值为 nil。
as! 操作符会执行一个实例到目的类型的强制转换,因此使用该形式可能触发一个运行时错误。
所以比较推荐使用”as?”这种方式进行类型转换。
如下图所示,变量与运算符之间的空格应该保持对称,对于双目运算符,左右两边要么都有空格,要么都不能有空格,否则会报错(会被判断为闭包表达式);对于单目运算符,不应有空格,如:squares++,而不应写成squares ++.
as? 操作符会执行转换并返回期望类型的一个选项值,如果转换成功则返回的选项包含有效值,否则选项值为 nil。
as! 操作符会执行一个实例到目的类型的强制转换,因此使用该形式可能触发一个运行时错误。
所以比较推荐使用”as?”这种方式进行类型转换。