java赋值语句_Scala守卫语句的集中用法
生活随笔
收集整理的這篇文章主要介紹了
java赋值语句_Scala守卫语句的集中用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
相比于JAVA,Scala的if增加了兩項強大的功能,一是可以直接作為賦值語句,另一種功能是作為守衛語句,不僅遠遠超過JAVA,甚至也將PYTHON拋在身后。
1. if作為賦值語句
作為賦值語句,不僅僅只是替代了三元運算符,而且還能支持邏輯語句塊,如下:
val (a, b) = (10, 20)// 更添加更多邏輯控制,且支持語句塊val value = if(a > b) 1 else if(a == b) { val c = a - 1 c * c} else 12. if作為for守衛語句
if作為for守衛語句能實現過濾的效果,顯著地降低循環次數,并且更易讀,如下:
// 返回大于5的偶數,類型為Vectorval items = for(i 1 to從上面可以看出,if作為for守衛語句具有如下特點:
1. 一個for循環可以支持多個if語句,以空格、回車字符分割
2. 多個if語句之間的關系是邏輯與(&&);
需要注意,if守衛語句并不支持其他循環語句,如while。
3. if作為case守衛語句
繼續上面的例子,在作為case守衛語句中,能細化case語句的粒度,更易于控制邏輯流轉,如下:
var vs = items match { // 判斷x的長度 case x if x.size < 1 => null // 判斷x的內容 case x if x.contains(8) => 8}對于“case”語句,雖然沒有顯式的“break”語句,但是依舊是“滿足即阻斷”,只會執行最先滿足的“case”,所以,設計“case”執行邏輯時,最重要的就是執行邏輯的優先級。
結論
熟練使用if語句,能實現很優雅的短碼效果,更能達到Python提倡的“用一條語句(集合)解決一個問題”。
總結
以上是生活随笔為你收集整理的java赋值语句_Scala守卫语句的集中用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: properties 配置回车_在Ubu
- 下一篇: 选中的磁盘具有mbr分区表。在efi_如