Scala函数高级操作

字符串高级操作

val globalName = "Jam"

  println(s"his name is $globalName")

  val message =
    """
      |hello
      |world
    """.stripMargin

  println(message)
在这里插入代码片

高阶函数

高阶函数
map、filter、flatmap、foreach、reduce等

  val l = List(1, 2, 3, 4)
  l.map(x => x*2).foreach(x => println(x))
  // _表示占位符
  l.map(_ * 2).foreach(println(_))
  l.filter(_ > 3).foreach(println(_))
  // 0 表示初始值 后面的函数表示结果运算
  println(l.fold(10)(_ + _))

  l.foldLeft(0)(_ - _)

  l.max
  l.min
  val l1 = List(2,13,1)
  println(l1.reduce(_ * _))
  println(l1.reduceLeft(_ - _))
  println(l1.reduceRight(_ - _))

  val l2 = List(List(1,2,3), List(4,5,6))
  l2.flatten.map(_*2).foreach(print)
  val body = "hello,world"
  val text = List(body)
  // 先map 然后flatten
  l.map(a => Map(a -> a)).foreach(print)
  println(text.flatMap(_.split(",")).map((_, 1)))
  // 根据列表分组
  val l3 = List((1,2), (1, 3))
  println(l3.groupBy(_._2))

匿名函数

val add = (x:Int, y:Int) => x + y

curry函数

  def sum(a: Int)(b: Int) = a + b
  sum(1)(2)

你可能感兴趣的:(scala)