美文网首页
scala编程基础学习笔记

scala编程基础学习笔记

作者: zhangxu0636 | 来源:发表于2016-07-12 11:06 被阅读18次

值和变量

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

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

val three = 3
three = 4

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

var three = 3
three = 4

函数

  • 创建
    用def定义,参数的类型用:分隔,返回值则写在最后。
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"
}
  • 守卫匹配,值会传递给我们给case定义的变量i
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"
  }
}

相关文章

  • Scala相关文章索引(2)

    基本常识 scala编程第17章学习笔记(1)——集合类型 scala Map类型笔记 scala代码风格指南--...

  • Scala函数式编程(三) scala集合和函数

    前情提要: scala函数式编程(二) scala基础语法介绍 scala函数式编程(二) scala基础语法介绍...

  • scala编程基础学习笔记

    值和变量 val定义的变量是不可变的,如果想用可变的变量,则用var 当我们用给three变量用val赋值的时候,...

  • Scala笔记

    Scala基础 学习twitter的scala教程的笔记 函数 函数定义,scala语法中可以使用多种方式定义函数...

  • Scala函数式编程(四)函数式的数据结构 下

    前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Sc...

  • Scala函数式编程(五) 函数式的错误处理

    前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Sc...

  • scala 入门学习

    Scala学习笔记: 1.1 scala的基础语法 声明与定义(赋值):声明变量时可以指定类型,不指定也可以自动识...

  • Scala学习笔记

    Scala笔记 基础教程 http://www.runoob.com/scala/currying-functio...

  • Scala从入门到小工| 01

    Scala学习之一 Scala概述 scala是一门多范式编程语言,集成了面向对象编程和函数式编程等多种特性。sc...

  • Scala基础简述

    * Scala基础简述 本文章作为Scala快速学习的教程,前提环境是:我假设在此之前,你已经学会了Java编程语...

网友评论

      本文标题:scala编程基础学习笔记

      本文链接:https://www.haomeiwen.com/subject/jzgjjttx.html