美文网首页
scala函数高级操作

scala函数高级操作

作者: 松松土_0b13 | 来源:发表于2019-10-13 20:32 被阅读0次

字符串的高级操作

  • 插值
var name ="li"
println(s"Hello::$name")
  • 多行
val b =
    """
      |这是一个
      |sss
      |ssss
    """.stripMargin

匿名函数

val sayHello = (name:String) => {}
def sayHello2 = () => {}

颗粒化currying

def sum(a:Int, b: Int): Unit = {
 a + b
}

颗粒化
def sum2(a:Int)(b:Int) = a + b

高阶函数

  • map
val l = List(1,2,3,4,5)
l.map(x => x * 2)
l.map(_ * 2)
  • fliter
  • reduce
// 1+2
l.reduce(_ + _)

// 1 -2 -3 - 4 -5
l.reduce(_ - _)

// 可以参考这篇文字https://blog.csdn.net/next__one/article/details/77650135

l.reduceLeft(_-_) // 1 -2 -3 - 4 -5
l.foldLeft(0)(_ - _) // 0 -1 -2 -3 -4 -5     等价于 val a3 = (0 /: l)(_ - _)
l.foldRight(0)(_ - _) // (1-(2-(3-(4-(5 -0))))) val a5 = (a :\ 0)(_ - _)
l.reduceRight(_-_) // 1-(2-(3-(4-5))))
  • flatten 压扁一层
  • flatMap 先map后flat

偏函数

/**
  * 偏函数,没有match的case语句
  */
object PartitalFunctionApp extends App{

  // A 输入参数类型     B输出参数类型
  def sayChinese: PartialFunction[String,String] = {
      case "1" => "da"
      case "2" => "dd"
      case _ => "不知道"
  }

  println(sayChinese("ak"))
}

相关文章

  • Scala入门与进阶(六)- Scala 函数高级操作

    7. Scala 函数高级操作 1. 字符串高级操作 2. 匿名函数 3. currying 函数

  • scala函数高级操作

    字符串的高级操作 插值 多行 匿名函数 颗粒化currying 高阶函数 map fliter reduce fl...

  • Scala编程基础12:Scala函数3

    1.Scala高阶函数 高阶函数(Higher-Order Function)就是操作其他函数的函数。Scala允...

  • Scala语言入门六(函数高级操作)

    一、字符串高级操作 1、多行字符串 2、创建格式化字符串 String 类中你可以使用 printf() 方法来格...

  • 十个惊人的Scala集合操作函数

    十个惊人的Scala集合操作函数当我操作 Scala 集合时,我一般会进行两类操作:转换操作(transforma...

  • Scala入门与进阶(一)- 初始Scala

    1.初识Scala 1.1 Scala概述 Scala 是整合了面向对象和函数式边恒的高级编程语言。他的一些静态类...

  • Scala 高级函数(一)

    一、高阶函数 定义函数,调用函数 函数作为值进行传递 函数作为参数进行传递 函数可以作为函数返回值进行返回 二、匿...

  • Scala高级特性

    Scala高级特性 Scala混合了面向对象和函数式的特性,我们通常将可以作为参数传递到方法中的表达式叫做函数。在...

  • scala的map操作

    scala的Map操作这里就涉及到了scala函数式编程的内容了。 Map有什么用? map可以对集合进行操作,将...

  • scala06.高级函数

    第六章高级函数 6.1作为参数的函数 函数可以作为参数进行传递:既然是变量,那么就该有类型,那么方法的类型是:(参...

网友评论

      本文标题:scala函数高级操作

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