scala 中定義“變量” var 和def 的區別
scala 中定義“變量” var 和def 的區別
慕的地8271018
2019-04-12 07:06:28
TA貢獻1812條經驗 獲得超5個贊
你是在困擾這種形式吧:
private var privateage=0
def age=privateage
其實這里age是一個簡寫的方法(def就是定義方法的),不要被迷惑了,這里返回值就是privateage。
TA貢獻1836條經驗 獲得超13個贊
1、區別:
var定義的變量是全局變量或者函數變量。
let定義的變量是塊級的變量。
2、全局變量:
指沒有定義在任何函數內,直接定義在全局作用域中的變量。
特點:隨處可用,可重用。
何時:希望隨處可用,且可反復使用的變量,都要聲明在函數之外的全局。
3、局部變量:
指定義在函數內的參數和變量,都是局部變量。
特點:僅函數內可用,出了函數不可用,不可重用。
何時:希望變量只在函數內有效時,都要在函數內創建變量。
舉報