美文网首页
Scala基础——函数

Scala基础——函数

作者: _羊羽_ | 来源:发表于2019-07-28 10:11 被阅读0次

概述

函数是第一等公民,在Scala中,函数就像普通变量一样,同样也具有函数的类型。
Scala语言支持
1 把函数作为实参传递给另外一个函数
2 把函数作为返回值
3 把函数赋值给变量
3 把函数存储在数据结构里

函数类型

在Scala语言中,函数类型的格式为A=>B,表示一个接受类型A的参数,并且返回类型B的函数
Int => String 是把整型映射为字符串的函数类型

函数的定义

def 函数名(参数名:参数类型) :返回值类型 = {
  
}
image.png

方法体内最后一行为返回值,不需要使用return

package com.bx.helloworld

object HelloWorld {
  def main(args: Array[String]): Unit = {
    println(add(1, 2))
  }

  def add(x: Int, y: Int): Int = {
    x + y
  }
}

当函数没有参数的使用,调用函数可以省略括号

object HelloWorld {
  def main(args: Array[String]): Unit = {
    print(isTest)
  }

  def isTest() = true
}

默认参数

子函数定义是,允许指定参数默认值默认值

object HelloWorld {
  def main(args: Array[String]): Unit = {
    setAge()
  }

  def setAge(age:Int = 18):Unit={
     print(age)
  }
}

可变参数

object HelloWorld {
  def main(args: Array[String]): Unit = {
    print(sum(1,2,3,4,5))
  }

  def sum(numbers: Int*) = {
    var result = 0
    for (number <- numbers) {
      result += number
    }
    result
  }
}

高阶函数

函数作为形参或返回值的函数,称为高阶函数

匿名函数(Anonymous Function)

匿名函数就是函数常量,也称为函数文字量(Functopn Literal)
在Scala 里 ,匿名函数的定义格式为

(形参列表) =>{函数体}

柯里化

柯里化函数把具有多个参数的函数转换为一条函数链,每个节点丢失单一参数

条件表达式

如果布尔表达式为 true 则执行大括号内的语句块,否则跳过大括号内的语句块,执行大括号之后的语句块。if 语句后可以紧跟 else 语句,else 内的语句块可以在布尔表达式为 false 的时候执行。

if(布尔表达式)
{
   // 如果布尔表达式为 true 则执行该语句块
}

相关文章

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

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

  • Scala笔记

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

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

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

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

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

  • Scala基础——函数

    概述 函数是第一等公民,在Scala中,函数就像普通变量一样,同样也具有函数的类型。Scala语言支持1 把函数作...

  • Scala基础篇-函数

    1.普通函数,scala函数不明显使用return返回值,如果有返回值,最后一行就是返回值 1.1定义返回值为In...

  • Scala基础——高阶函数

    函数字面量 在非函数式编程语言里,函数的定义包含了“函数类型”和“值”两种层面的内容。但是,在函数式编程中,函数是...

  • 第三讲函数详解

    Scala被认为是函数式编程语言,故Scala函数是Scala编程的核心。所以掌握scala的函数至关重要。 本章...

  • Scala 学习笔记

    一、Scala 基础 变量 定义方法和函数 定义方法: 定义函数: 3. apply 方法 通常我们会在类的伴生对...

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

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

网友评论

      本文标题:Scala基础——函数

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