Swift学习笔记(十一)——Swift中三元运算符的低级错误:Consecutive statements on a line must be separated by';'

前端之家收集整理的这篇文章主要介绍了Swift学习笔记(十一)——Swift中三元运算符的低级错误:Consecutive statements on a line must be separated by';'前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

今天在Xcode中的Background的中撸了几行Swift代码,居然出了不少错误,郁闷啊。找了好久才解决了bug,不爽啊。主要是一个三元运算符的小问题。报错是:Consecutive statements on a line must be separated by';'。现在贴出来和大家分享,希望后人不要遇到这样的低级错误

var score = 64
let grade:String=score>=60?"及格":"不及格"
println(grade)

上述代码报错,错误如下:

报错中说“在一行中的连续语句必须使用;分号分隔”,根据提示,我怎么加;分号都不行,不就是一个简单的三元运算符吗?怎么可能需要加;分号。然后我去百度该问题,在stackoverflow上找到一个相似的问题,可惜不能解决我的问题。链接如下:http://stackoverflow.com/questions/28397744/skaction-customactionwithduration-consecutive-statements-on-a-line-must-be-separ

然后我以为是优先级的问题,就根据运算先后加了括号,还是不行。。。。无语了。

最后一怒之下,我把每个变量和左右的运算符中间都使用空格进行隔开。突然代码正确了,运行成功。如图所示:


最后一一进行检查,发现问题的关键是数字60和?之间必须要有空格,否则就报错。如下代码所示可以运行成功:


坑爹啊,Swift对运算符的检查也太严格了吧,所谓的Swift的安全性我算是真正见识到了。泪崩,浪费我好久时间。


github主页:https://github.com/chenyufeng1991 。欢迎大家访问!

猜你在找的Swift相关文章