日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

内建控制结构之if表达式

發(fā)布時(shí)間:2023/12/31 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内建控制结构之if表达式 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??

Scala的if語(yǔ)句與其它語(yǔ)言相比沒(méi)有什么不同。它可以檢測(cè)條件并根據(jù)其是否為真,執(zhí)行兩個(gè)分支中的一個(gè)。下面是常見(jiàn)的以指令式風(fēng)格編寫(xiě)的例子:

package?scalaTest object?Test4?{def?main(args:Array[String])?{var?filename?=?"default.txt"if(!args.isEmpty)?filename?=?args(0)println(filename)} }

這段代碼聲明了變量filename,并初始化為默認(rèn)值。然后使用if表達(dá)式檢查程序是否帶有參數(shù)。如果是,就把變量改成參數(shù)列表中定義的值,如果沒(méi)有參數(shù),就保持變量的默認(rèn)值。這段代碼還有優(yōu)化的余地,如下例:

package?scalaTest object?Test4?{def?main(args:Array[String])?{val?filename?=?if(!args.isEmpty)?args(0)?else?"default.txt"println(filename)} }

這一次,if有了兩個(gè)分支。如果args不為空,那么選擇初始化元素args(0),否則,選擇默認(rèn)值。這段代碼的實(shí)際優(yōu)點(diǎn)在于使用val而不是var使用val體現(xiàn)了函數(shù)式的風(fēng)格,并且具有與java的final變量類似的效果。
使用val而不是var的第二點(diǎn)好處是它能更好地支持等效推論在表達(dá)式?jīng)]有副作用的前提下,引入的變量等效于計(jì)算它的表達(dá)式。因此,無(wú)論何時(shí)都可以用表達(dá)式替代變量名。如下:

package?scalaTest object?Test4?{def?main(args:Array[String])?{println(if(!args.isEmpty)?args(0)?else?"default.txt")} }

注:盡可能尋找使用val的機(jī)會(huì),它們能讓你的代碼既容易閱讀又容易重構(gòu)。

轉(zhuǎn)載于:https://my.oschina.net/fhd/blog/275393

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的内建控制结构之if表达式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。