1.Scala的函数默认都有返回,Unit类似C#里面的void
def funtion(): Unit ={ //do something }
以上的无返回值函数可以简写和C#类似
def Funtion(){ //do something }
2.基于简洁的追求,Scala可以偷懒的地方就 ,如下是带返回值的3个等价函数
def addA(x:Int):Int={x+100} def addB(x:Int)=x+100 //上面的简写 var addC=(x:Int)=>x+100 //这个类似于Lamda
def fac(n:Int):Int=if(n>1) n*fac(n-1) else 1
def combine(str1:String,str2:String="I",str3:String="love")=str2+" "+str3+" "+str1
5.可变参数函数和C#中的param类型类似,下面是求1-5的和
def sum(args:Int*)={ var result=0 for(arg<-args)result+=arg result } def main(args:Array[String]){ println(sum(1,2,3,4,5)) //println(sum(1 to 5:_*))同上 }
lazy val file=Source.fromFile("d:\\t1.txt") for(line<-file.getLines()){ println(line) }如:file若为空,你不使用file的时候是不会报错的