函式必須有返回值 Scala系列3 Scala函式

2021-10-11 23:09:16 字數 1922 閱讀 3932

scala函式

1.scala函式的定義

· 有參函式

· 無參函式

注意點:

· 函式定義語法 用def來定義

· 可以定義傳入的引數,要指定傳入引數的型別

· 方法可以寫返回值的型別也可以不寫,會自動推斷,有時候不能省略,必須寫,比如在遞迴函式中或者函式的返回值是函式型別的時候。

· scala中函式有返回值時,可以寫return,也可以不寫return,會把函式中最後一行當做結果返回。當寫return時,必須要寫函式的返回值。

· 如果返回值可以一行搞定,可以將{}省略不寫

· 傳遞給方法的引數可以在方法中使用,並且scala規定方法的傳過來的引數為val的,不是var的。

· 如果去掉方法體前面的等號,那麼這個方法返回型別必定是unit的。這種說法無論方法體裡面什麼邏輯都成立,scala可以把任意型別轉換為unit.假設,裡面的邏輯最後返回了乙個string,那麼這個返回值會被轉換成unit,並且值會被丟棄。

2.遞迴函式

3.包含引數預設值的函式

· 預設值的函式中,如果傳入的引數個數與函式定義相同,則傳入的數值會覆蓋預設值。

· 如果不想覆蓋預設值,傳入的引數個數小於定義的函式的引數,則需要指定引數名稱。

4.可變引數個數的函式

· 多個引數用逗號分開

5.匿名函式

1. 有參匿名函式

2. 無參匿名函式

3. 有返回值的匿名函式

· 可以將匿名函式返回給val定義的值

· 匿名函式不能顯式宣告函式的返回型別

6.巢狀函式

7.偏應用函式

偏應用函式是一種表示式,不需要提供函式需要的所有引數,只需要提供部分,或不提供所需引數。

8.高階函式

函式的引數是函式,或者函式的返回型別是函式,或者函式的引數和函式的返回型別是函式的函式。

· 函式的引數是函式

· 函式的返回是函式

· 函式的引數和函式的返回是函式

9.柯里化函式

· 可以理解為高階函式的簡化

函式必須有返回值 Go語言入門教程 十 之函式

上次我們講到了關於go語言的流程控制,小棧君也希望小夥伴跟著小棧君一步乙個腳印的敲一下 相互進步。本期我們要分享的go語言系列之函式。一 什麼是函式?函式是指一段在一起的 可以做某一件事兒的程式。也叫做子程式 oop中 方法。乙個較大的程式一般應分為若干個程式塊,每乙個模組用來實現乙個特定的功能。所...

函式返回值

這裡接著探求被調函式的返回值是如何傳遞到主調函式中的,下面為c程式。add函式通過直接返回a b的,而add1函式先定義乙個區域性變數c,儲存a b的值,然後再返回c的值。其中a b可以當成乙個臨時變數,其結果是暫時存放在暫存器中的 eax 參照反匯程式設計序,可以看出函式的值並不是通過壓棧 基址定...

函式返回值

一般說來,函式中是可以進行區域性變數的返回的,不然豈不是全部要用全域性變數,如果使用了全域性變數,那還有必要進行返回嗎?那函式就沒有它存在的意義了!但是要注意了,這裡所謂的區域性變數的返回很有內涵,什麼樣的值才可以進行返回而不出錯?其實,只要遵守一句話即可 函式不能返回指向棧記憶體的指標!為什麼?因...