Swift 2.0 or later
下面的代码有一个编译错误,请指出来并说明原因。
1 2 3 4 5 6 7 8 9 10 | struct Kitten { } func showKitten(kitten: Kitten?) { guard let k = kitten else { print("There is no kitten") } print(k) } |
提示:有三种方法修复它。
guard语句中得else语句必须需要一个返回路径,你可以使用return ,抛出异常或者调用@noreturn.最简单的解决方法是添加一个return语句,代码如下:
下面是抛出异常的版本:
最后,调用一个@noreturn功能函数 fatalError( ) 解决方案: