//常規函式:
def f(x:int):int =
// 無返回值,使用unit
def f():unit =
//unit和其他型別都可以省略,scala可以執行判斷函式的返回型別
def f()=
f()def f()=
print(f())
// 無返回值,=可以省略,unit不能寫
def f()
//無參函式
def f() = println("hello")
f //呼叫無參函式,()可以省略
f()// 匿名函式
var add = (x:int,y:int) => x+y
//val add = (x:int,y:int) => x+y //正確
//var add = (x:int,y:int):int => x+y //錯誤,匿名函式中不可以指定返回型別
println(add(1,2))
//注意x為常量,不可以為變數
var add = (x:int,y:int) =>
函式可以作為值,賦給變數或常量
def add1(x:int) = x+1
val inc = add1 _ //最後需要'_'
println(inc(5))
** 預設引數
def add(x:int=1,y:int=2) = x+y
println(add(5))
println(add(y=5))
println(add(5,3))
** 變長引數,*表示引數為重複引數
def printstrings(s:string*) =
printstrings("aaa","bbb")
printstrings("aaa","bbb","ccc")
val arr=array("***","yyy")
printstrings(arr:_*) //後面需要加上'_*',告訴編譯器,是以陣列中的每個元素作為引數,而不是整個陣列
*****====/字串插值/*************************===
val name = "tom"
println(s"hello $name aaa")
println(s"hello $ aaa") //同上
println(s"1 + 1 = $") //能計算
class person(val name: string)
val person = new person("jack")
println(s"hello $, $")
Scala基礎(3) 函式高階
函式可以沒有名稱,可以直接賦值。如果函式有多行表示式組成,就加上大括號。這一點對匿名函式同樣適用。scala val addone x int x 1 addone int int scala addone 1 res4 int 2注意到scala中一切都是物件。所以addone是乙個物件。同時它又...
Scala基礎 函式
函式定義 def 函式名 引數名1 引數型別1,引數名2 引數型別2 返回型別 顯式定義了返回型別,才可以return def play1 1 標準形式,返回任一型別 def play2 a1 int,a2 int unit println play2 10,20 返回值為int型別 def pla...
Scala入門系列(二) Scala函式基礎介紹
2 匿名函式 3 高階函式 4 函式巢狀 5 柯里化 6 隱式引數 7 命名引數 8 引數預設值 函式是scala的核心 def 函式名 引數列表 返回值 列1 def square x int int 列2 def sayhello x string unit 函式呼叫 square 10 say...