scala学习四:方法与函数

一、 方法与函数

Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。

Scala中val语句可以定义函数,def语句定义方法

scala 复制代码
class Test{
	def m(x: Int) = x+3
	val f = (x:Int) => x+3
}

1.1 方法声明

scala 复制代码
def functionname([参数列表]):[return type]

1.2 方法定义

由一个 def 关键字开始,紧接着是可选的参数列表,一个冒号 : 和方法的返回类型,一个等于号 = ,最后是方法的主体。

如果方法没有返回值,可以返回Unit,类似于Java里面的void

scala 复制代码
def functionname([参数列表]):[return type] = {
	function body
	return [expr]
}

以上代码中 return type 可以是任意合法的 Scala 数据类型。参数列表中的参数可以使用逗号分隔。

函数里面的返回不需要写 return ,直接写要返回的数据

scala 复制代码
object add{
	def addInt(a:Int, b:Int):Int = {
		var sum:Int = 0
		sum = a + b
		return sum
	}
}

1.3 方法调用

scala 复制代码
直接调用
functionName(参数列表)
使用实例的对象来调用
[instance].funcitionName(参数列表)

二、闭包

闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量

访问一个函数里面局部变量的另一个函数

暂时不深入研究

相关推荐
qeen873 小时前
【数据结构】栈及其C语言模拟实现
c语言·数据结构·学习·
2402_854808373 小时前
c++怎么利用std--span在不拷贝的情况下解析大规模文件映射【进阶】
jvm·数据库·python
2301_777599374 小时前
Redis怎样管理16384个哈希槽_利用cluster-config-file持久化保存节点与槽位的映射关系
jvm·数据库·python
南境十里·墨染春水4 小时前
linux学习进展 信号
linux·服务器·学习
qq_342295824 小时前
Go语言怎么用GitHub Actions_Go语言GitHub Actions教程【基础】.txt
jvm·数据库·python
Wyz201210244 小时前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
2501_914245934 小时前
AWS CodeBuild 中 PHP 8.0 运行时版本不支持的解决方案
jvm·数据库·python
2301_813599554 小时前
如何监控表空间自动扩展_DBA_DATA_FILES中的MAXBYTES分析
jvm·数据库·python
SiYuanFeng4 小时前
一展使用gpt-5-mini和gemini-3.1-flash-image-preview-0.5k的运行demo代码
linux·python·gpt
不灭锦鲤4 小时前
每天学习新的漏洞,react2shell漏洞
学习