您好,登錄后才能下訂單哦!
本篇內容介紹了“scala中怎么使用val語句和def語句”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Scala 中使用 val 語句可以定義函數,def 語句定義方法。
class Test{ def m(x: Int) = x + 3 val f = (x: Int) => x + 3} 2.Scala 方法聲明格式如下: def functionName ([參數列表]) : [return type] 如果你不寫等于號和方法主體,那么方法會被隱式聲明為抽象(abstract),包含它的類型于是也是一個抽象類型。 3.方法定義 由一個 def 關鍵字開始,緊接著是可選的參數列表,一個冒號 : 和方法的返回類型,一個等于號 = ,最后是方法的主體。 Scala 方法定義格式如下: def functionName ([參數列表]) : [return type] = { function body return [expr](默認最后一行)} } 4.函數 函數默認參數 cala 可以為函數參數指定默認參數值,使用了默認參數,你在調用函數的過程中可以不需要傳遞參數,這時函數就會調用它的默認參數值,如果傳遞了參數,則傳遞值會取代默認值。實例如下:object Test { def main(args: Array[String]) { println( "返回值 : " + addInt() ); } def addInt( a:Int=5, b:Int=7 ) : Int = { var sum:Int = 0 sum = a + b return sum }} 函數命名參數 般情況下函數調用參數,就按照函數定義時的參數順序一個個傳遞。但是我們也可以通過指定函數參數名,并且不需要按照順序向函數傳遞參數,實例如下:object Test { def main(args: Array[String]) { printInt(b=5, a=7); } def printInt( a:Int, b:Int ) = { println("Value of a : " + a ); println("Value of b : " + b ); } } 函數可變參數 Scala 允許你指明函數的最后一個參數可以是重復的,即我們不需要指定函數參數的個數,可以向函數傳入可變長度參數列表。 Scala 通過在參數的類型之后放一個星號來設置可變參數(可重復的參數)。例如: object Test { def main(args: Array[String]) { printStrings("Runoob", "Scala", "Python"); } def printStrings( args:String* ) = { var i : Int = 0; for( arg <- args ){ println("Arg value[" + i + "] = " + arg ); i = i + 1; } }} 遞歸函數 遞歸函數意味著函數可以調用它本身。 以上實例使用遞歸函數來計算階乘: object Test { def main(args: Array[String]) { for (i <- 1 to 10) println(i + " 的階乘為: = " + factorial(i) ) } def factorial(n: BigInt): BigInt = { if (n <= 1) 1 else n * factorial(n - 1) }} 匿名函數 箭頭左邊是參數列表,右邊是函數體。使用匿名函數后,我們的代碼變得更簡潔了。 下面的表達式就定義了一個接受一個Int類型輸入參數的匿名函數: var inc = (x:Int) => x+1 上述定義的匿名函數,其實是下面這種寫法的簡寫: def add2 = new Function1[Int,Int]{ def apply(x:Int):Int = x+1; }
“scala中怎么使用val語句和def語句”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。