方法

方法的表现和行为和函数非常类似,但是它们之间有一些关键的差别。

方法由def关键字定义。def后面跟着一个名字、参数列表、返回类型和方法体。

def add(x: Int, y: Int): Int = x + y
println(add(1, 2)) // 3

注意返回类型是怎么在函数列表和一个冒号: Int之后声明的。

方法可以接受多个参数列表。

def addThenMultiply(x: Int, y: Int)(multiplier: Int): Int = (x + y) * multiplier
println(addThenMultiply(1, 2)(3)) // 9

或者没有参数列表。

def name: String = System.getProperty("user.name")
println("Hello, " + name + "!")

还有一些其他的区别,但是现在你可以认为方法就是类似于函数的东西。

方法也可以有多行的表达式。

def getSquareString(input: Double): String = {val square = input * inputsquare.toString
}
println(getSquareString(2.5)) // 6.25

方法体的最后一个表达式就是方法的返回值。(Scala中也有一个return关键字,但是很少使用)

scala方法定义示例相关推荐

  1. Scala方法定义,方法和函数的区别,将方法转换成函数

    1. 定义方法和函数 1.1. 定义方法 方法的返回值类型可以不写,编译器可以自动推断出来,但是对于递归函数,必须指定返回类型 1.2. 定义函数 1.3.方法和函数的区别 在函数式编程语言中,函数是 ...

  2. scala函数定义示例

    函数 函数是带有参数的表达式. 你可以定义一个匿名函数(即没有名字),来返回一个给定整数加一的结果. (x: Int) => x + 1 =>的左边是参数列表,右边是一个包含参数的表达式. ...

  3. Scala方法定义及调用

  4. scala方法中的变量_Scala变量,变量范围,字段变量,方法参数示例

    scala方法中的变量 Variables can be defined as the reserve space in memory to store the assigned values. Ba ...

  5. 【Groovy】闭包 Closure ( 闭包调用 与 call 方法关联 | 接口中定义 call() 方法 | 类中定义 call() 方法 | 代码示例 )

    文章目录 总结 一.接口中定义 call() 方法 二.类中定义 call() 方法 三.完整代码示例 总结 在 实例对象后使用 " () " 括号符号 , 表示调用该实例对象的 ...

  6. js中的数组Array定义与sort方法使用示例

    js中的数组Array定义与sort方法使用示例 Array的定义及sort方法使用示例 Array数组相当于java中的ArrayList  定义方法:  1:使用new Array(5  )创建数 ...

  7. G120变频器输入输出端子功能定义配置方法及示例

    G120变频器输入输出端子功能定义配置方法及示例 1. 数字量输入功能(适用机型:CU240B-2(DP)/CU240E-2(DP/PN)/CU250S-2(DP/PN)) CU240B-2提供4路数 ...

  8. scala 方法重载_Scala中的方法重载

    scala 方法重载 Scala方法重载 (Scala method overloading) Method overloading is a method that is redefined in ...

  9. isdigit函数在C语言什么意思,C 库函数 isdigit() 使用方法及示例

    C 库函数 isdigit() 使用方法及示例 isdigit()函数检查字符是否为数字字符(0-9). isdigit()的函数原型int isdigit( int arg ); 函数isdigit ...

最新文章

  1. SQL Server查询某字段在哪些表中
  2. libgcc_s.so.1 mysql_libgcc_s.so.1 must be installed for pthread_cancel to work | 学步园
  3. 爬虫解析利器PyQuery详解及使用实践
  4. 机械制图国家标准的绘图模板_如何使用p5js构建绘图应用
  5. 前端学习(591):source面板介绍
  6. Protobuf生成Java代码(命令行)
  7. word上的花线是什么_微型断路器为什么叫空气开关,学问一大堆,该怎么接
  8. 【noip2011】【codevs1137】计算系数
  9. 使用OpenCV-python识别图片视频中的人脸和眼睛
  10. Ubuntu16.04几分钟自动断网问题
  11. 低温linux内核启动readl,Linux内核启动流程分析(一)
  12. Ubuntu下添加打印机---之寻找设备lpinfo
  13. 在Chrome离线安装插件时显示程序包无效: CRX_HEADER_INVALID
  14. CommonAPI新版本配置
  15. “人人皆可成为AI开发者”!百度世界大会官宣百度松果学堂成立
  16. 如何让自己的博客主动被搜索引擎收录
  17. 【转】Log4j详细使用教程
  18. crontab:设置计时器
  19. java过滤xss_java处理XSS过滤的方法
  20. 文件上传与下载SmartUpload

热门文章

  1. 群友福利 | 55 本《AI 嵌入式系统: 算法优化与实现》免费送
  2. 【Python】Pandas宝藏函数-concat()
  3. 【Python】可视化分类型变量,我一般使用这6种图形。
  4. 【GNN】AAAI2021 | 图神经网络研究进展解读
  5. 【竞赛总结】新冠期间饿了么骑士行为预估
  6. 推荐:学习自然语言处理(NLP)的学习方法和资料合集
  7. 机器学习训练秘籍完整中文版下载(吴恩达老师新作)
  8. 简明代码介绍类激活图CAM, GradCAM, GradCAM++
  9. 【Flask】快速入门后台写接口【API】
  10. 网易技术干货 | 云信Web SDK测试实践