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(参数列表)

二、闭包

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

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

暂时不深入研究

相关推荐
用户0332126663671 小时前
使用 Python 从零创建 Word 文档
python
Csvn6 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽7 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户556918817538 小时前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱1 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei1 天前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
aqi001 天前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
Csvn1 天前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python
金銀銅鐵2 天前
[Python] 从《千字文》中随机挑选汉字
后端·python