java中的基本数据类型也可以switch case语句来判断哦,java在很多地方都与swift有相似之处,有java基础的人来学swift应该会事半功倍
2016-06-11
很多同学询问,swift2.2开始准备取消掉C风格的for循环,那么如何写一个可变步长的for循环呢?答案是使用定义在整形上的stride方法。请看如下代码,实现了递减循环:
for i in 10.stride (through: 0, by: -1) {
print("\(i)")
}
10.stride (through: 0, by: -1),表示从10到0(through),每次递减1。其他改变步长的逻辑依此类推。
课程github为此也添加了一段代码,欢迎大家前去学习:https://github.com/liuyubobobo/Play-with-Swift-2
for i in 10.stride (through: 0, by: -1) {
print("\(i)")
}
10.stride (through: 0, by: -1),表示从10到0(through),每次递减1。其他改变步长的逻辑依此类推。
课程github为此也添加了一段代码,欢迎大家前去学习:https://github.com/liuyubobobo/Play-with-Swift-2
2016-06-08
个人认为是否学习swift语言不应该考虑语法是否稳定,而应该考虑是否希望学习苹果相关产品的开发(ios,iwatch,mac os和tv os)。如果你想玩儿苹果开发,那么不要犹豫,学习swift语言吧!swift语言被苹果强调过无数次,是苹果相关产品开发的未来。oc终将被淘汰。至于不断的变化,我建议用更开放的心态迎接它。一方面,其实学习稍微新一些的内容,不管是前端框架还是移动开发,变化都是常态;另一方面,学习了基础,应对变化没有想象的那么难,甚至是很容易的。通过学习每个版本的变化,也会有额外的收获。更重要的,跟随最新的浪潮,不断学习观察一门最有潜力语言的发展演化,这简直酷毙了!
2016-06-08
特别感谢大家对于fallthrough用法的吐槽,特别是 @Genment 的表述非常清晰。谢谢!
是的,fallthrough并不会判断下一个case是否符合switch的条件,而是直接跳到下一个case(或default)的逻辑中。这使得:
1)我们不能使用fallthrough跳到一个有逻辑判断(where)语句的case中
2)请不要使用switch和fallthrough组合复杂的判断逻辑,来代替if else。fallthrough应该用于从一般到特殊的逐层判定。如这个课程中的例子一样。
相应的,课程的github相关小节进行了更新。再次感谢大家!大家加油:)
是的,fallthrough并不会判断下一个case是否符合switch的条件,而是直接跳到下一个case(或default)的逻辑中。这使得:
1)我们不能使用fallthrough跳到一个有逻辑判断(where)语句的case中
2)请不要使用switch和fallthrough组合复杂的判断逻辑,来代替if else。fallthrough应该用于从一般到特殊的逐层判定。如这个课程中的例子一样。
相应的,课程的github相关小节进行了更新。再次感谢大家!大家加油:)
2016-06-08
最新回答 / 慕村3143335
存在吧。这是布尔代数的基本逻辑,你问的最短路原则,是不是没有理解布尔代数 逻辑与或非的概念啊,这个就是按照概念推导出来的啊, && 表达式执行顺序如果是按从左往右执行,左边为真,右边不管为真还是为假,最终的运算结果都是为真的,那我为啥还要去执行判断下右边的逻辑表达式呢?
2016-06-07
已采纳回答 / liuyubobobo
在swift2.2中,不仅没有了C-style的循环,而且连++,--运算符都取消掉了。此时,实现改变步长的逻辑,需要使用整型的stride函数。比如,最基本的,实现递减循环,见如下代码:<...code...>10.stride (through: 0, by: -1),表示从10到0(through),每次递减1。其他改变步长的逻辑依此类推。
2016-06-06
swift3.0即将发布。可以预见的是还有4.0,5.0等等。到底要不要学啊。我学java的时候还是1.6,现在都1.8了。照样可以写java啊。没有影响啊。如果新版对旧版的语法没有改动。还是值得学的。
2016-06-05