## 函數

~~~scala
def main(args: Array[String]): Unit = {
println(add(2,3))
println(three())//沒有參數,括號可以省略。
sayHello()
}
def add(x:Int,y:Int):Int={
x+y //最后一行就是返回值,不用return
}
def three() = 1+2
//Unit意思是無返回值
def sayHello():Unit={
println("sayHello")
}
~~~
* 默認參數
~~~
def sayName(name:String = "Bizz"):Unit= {
println(name);
}
~~~
* 命名參數
~~~
def speed(distance:Float,time:Float):Float={
distance/time
}
println(speed(10,2))
println(speed(time=2,distance = 10))
~~~
* 可變參數
加上*表示可以傳多個值
~~~
def add(number:Int*)={
var result = 0;
for (num<-number){
result+=num;
}
result
}
println(add(1,2,3,4,5,6,7))
~~~
* 循環表達式

~~~
for(i <- 1 to 10){
println(i)
}
val names = Array("bizz","james","wade");
//names里面的所有元素作用一個方法
names.foreach(name=>println(name));
var (num,sum) = (100,0);
while (num>0){
sum = sum+num
num = num-1
}
println(sum)
}
~~~