内建控制结构之if表达式
生活随笔
收集整理的這篇文章主要介紹了
内建控制结构之if表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
Scala的if語句與其它語言相比沒有什么不同。它可以檢測條件并根據其是否為真,執行兩個分支中的一個。下面是常見的以指令式風格編寫的例子:
package?scalaTest object?Test4?{def?main(args:Array[String])?{var?filename?=?"default.txt"if(!args.isEmpty)?filename?=?args(0)println(filename)} }這段代碼聲明了變量filename,并初始化為默認值。然后使用if表達式檢查程序是否帶有參數。如果是,就把變量改成參數列表中定義的值,如果沒有參數,就保持變量的默認值。這段代碼還有優化的余地,如下例:
package?scalaTest object?Test4?{def?main(args:Array[String])?{val?filename?=?if(!args.isEmpty)?args(0)?else?"default.txt"println(filename)} }這一次,if有了兩個分支。如果args不為空,那么選擇初始化元素args(0),否則,選擇默認值。這段代碼的實際優點在于使用val而不是var。使用val體現了函數式的風格,并且具有與java的final變量類似的效果。
使用val而不是var的第二點好處是它能更好地支持等效推論。在表達式沒有副作用的前提下,引入的變量等效于計算它的表達式。因此,無論何時都可以用表達式替代變量名。如下:
注:盡可能尋找使用val的機會,它們能讓你的代碼既容易閱讀又容易重構。
轉載于:https://my.oschina.net/fhd/blog/275393
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的内建控制结构之if表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AITO 问界 M7 智驾版汽车申报信息
- 下一篇: 结构化查询语言(Structured Q