scala 初階 方法和函數

方法
 定義格式: 
def 方法名(參數名1: 參數類型1, 參數名2: 參數類型2) : 返回類型 = {方法體}
注:1.方法的返回值類型和return能夠不寫,編譯器能夠自動推斷出來
2.對於遞歸方法,必須指定返回類型
3.若是方法沒有返回值,返回Unit類型(相似於void,也能夠不寫)
4.返回值類型有多種狀況則返回Any
5.帶有默認值參數的方法,調用時,能夠給定新值,也能夠使用默認值
6.能夠經過參數名來指定傳遞給哪個參數,這樣傳遞參數時就能夠不按照順序傳遞
7.方法沒有參數,調用時能夠省略(),若是定義時()省略,調用時則必須省略
8.可變參使用 變量名:類型* (相似Java的...)
函數
  完整語法
  val函數名稱 :(參數類型)=>函數返回值類型 = (參數名稱:參數類型)=>函數體
  簡寫語法
  val函數名稱 = (參數名稱:參數類型) => 函數體
  方法和函數的區別
      方法:和java的方法相似,是封裝了完成某些功能的代碼塊所歸屬某一個類或對象
      函數:在Scala中,函數是頭等公民,函數是一個對象,那麼既然是對象的話,函數就能夠賦值給變量 或者 看成參數被傳遞,還能夠 使用函數打點調用方法
  注:嚴格的來講,函數與方法是不一樣的東西。定義方式上也有不少的區別
可是在Scala中,函數自己是對象,方法能夠經過下劃線_轉換爲函數。
因此結論是:在Scala中
方法能夠轉換爲函數,函數本質上就是對象
函數式編程的核心思想、靈魂所在:行爲參數化!java

相關文章
相關標籤/搜索