scala编程基础学习笔记

2016-07-12  本文已影响18人  zhangxu0636

值和变量

val定义的变量是不可变的,如果想用可变的变量,则用var

当我们用给three变量用val赋值的时候,想要给它重新赋值,则会报错。

val three = 3
three = 4

下面的代码赋值是不会报错的

var three = 3
three = 4

函数

def onePlusOne(one: Int, Other: Int): Int = one + Other
val paramPlus = (param: Int) => param + 1
def test(x: Int): Int = {  
    println("Hello Scala")  
    x * 3 //最后一个为返回值
}

匿名函数也是一样的

val ann = {  
     x: Int =>    println("Hello Scala")
     x * 3
}

部分应用

使用下划线“_”部分应用一个函数,结果将得到另一个函数

def multiply(m:Int,n:Int) = m * n
val mul2 = multiply(2, _: Int)
mul2(4)

柯里化函数

方便我们可能在不同的场景传入不同的参数。

def add(m:Int)(n:Int):Int = m + n
val add2 = add(2)_
add2(5)

模式匹配

val value = 2
value  match {
  case 1 => "one"
  case 2 => "two"
  case _ => "some other number"
}
value match {
  case i if i == 1 => "one"
  case i if i == 2 => "two"
  case _ => "some other number"
}
def bigger(o: Any): Any = {
  o match {
    case i: Int if i < 0 => i - 1
    case i: Int => i + 1
    case d: Double if d < 0.0 => d - 0.1
    case d: Double => d + 0.1
    case text: String => text + "s"
  }
}
上一篇 下一篇

猜你喜欢

热点阅读