語(yǔ)句(statement): 一段可執(zhí)行的代碼
表達(dá)式(expression): 一段可以被求值的代碼
在Java中語(yǔ)句和表達(dá)式是有區(qū)分的,表達(dá)式必須在return或者等號(hào)右側(cè),而在scala中,一切都是表達(dá)式.
一個(gè)例子:
假設(shè)我們?cè)诠镜膬?nèi)網(wǎng)和外網(wǎng)要從不同的域名訪問(wèn)一樣的機(jī)器
//Java代碼
String urlString = null;
String hostName = InetAddress.getLocalHost().getHostName();
if (isInnerHost(hostName)) {
urlString = "http://inner.host";
} else {
urlString = "http://outter.host";
}
剛轉(zhuǎn)到scala的人很可能這么寫(xiě)
var urlString: String = null
var hostName = InetAddress.getLocalHost.getHostName
if (isInnerHost(hostName)) {
urlString = "http://inner.host"
} else {
urlString = "http://outter.host"
}
我們讓它更像scala一點(diǎn)吧
val hostName = InetAddress.getLocalHost.getHostName
val urlString = if (isInnerHost(hostName)) {
"http://inner.host"
} else {
"http://outter.host"
}
這樣做的好處都有啥?
很多時(shí)候,我們編程時(shí)說(shuō)的安全并不是指怕被黑客破壞掉,而是預(yù)防自己因?yàn)槎罕榷尦绦虮懒?
更多建議: