Scala快速入门

#定义变量var

var name = “chen”

name = “zhiguo”

#定义常量val 首次复制后不可以再改变

val two = 1+ 1

#定义函数def,等号左侧是函数名、函数列表和返回值,右侧是函数体实现的表达式。

scala> def addOne(m:Int): Int = m+ 1

addOne: (m: Int)Int

scala> var x = addOne(123)

x: 124

如果函数体需要多个表达式才能实现,可以使用代码块将多个表达式包起来:

scala> def sum(n:Int):Int = {

    for (i<-1 to 10)

        r = r*i

        r  // return r 也可以

}

注:如果在函数体中不适用return返回函数值,name最后一个表达式的值就是函数返回值。

#超级重要的匿名函数

创建匿名函数不需要def关键字:

scala>(x: Int) = > x+1

res2: (Int) => Int = …

函数可以赋值给变量或常量,这是函数式编程的一个特点。将匿名函数赋值给addOne常量,后续代码汇总就可以使用addOne进行调用了:

scala>val addOne = (x: Int) = > x+1

scala>addOne(1)

res4: Int = 2

当函数多行表达式时,与上面一样可以使用{}来包围代码。

#对象定义

scala支持面向对象编程,使用class定义一个类,在类里面使用val定义成员变量,用def定义成员方法。

scala> class Calculator {

        val brand: String = “CHEN”

        def add(m: Int, n: Int): Int = m + n

}

使用new关键字创建对象,使用. 调用对象的属性和方法:

scala> val calc = new Calculator

scala> calc.add(1,2)

scala> calc.brand