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

二、闭包

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

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

暂时不深入研究

相关推荐
用户2345267009821 分钟前
Python实现异步任务队列深度好文
后端·python
夫唯不争,故无尤也4 分钟前
PyTorch 的维度变形一站式入门
人工智能·pytorch·python
不羁的木木13 分钟前
【开源鸿蒙跨平台开发学习笔记】Day03:React Native 开发 HarmonyOS-GitCode口袋工具开发-1
笔记·学习·harmonyos
熊猫钓鱼>_>30 分钟前
从零开始构建RPG游戏战斗系统:实战心得与技术要点
开发语言·人工智能·经验分享·python·游戏·ai·qoder
BoBoZz191 小时前
TriangleStrip连续三角带
python·vtk·图形渲染·图形处理
生信大表哥1 小时前
Python单细胞分析-基于leiden算法的降维聚类
linux·python·算法·生信·数信院生信服务器·生信云服务器
一晌小贪欢1 小时前
【Python办公】用 Selenium 自动化网页批量录入
开发语言·python·selenium·自动化·python3·python学习·网页自动化
诸神缄默不语2 小时前
如何用Python处理文件:Word导出PDF & 如何用Python从Word中提取数据:以处理简历为例
python·pdf·word
vvoennvv2 小时前
【Python TensorFlow】 TCN-LSTM时间序列卷积长短期记忆神经网络时序预测算法(附代码)
python·神经网络·机器学习·tensorflow·lstm·tcn
nix.gnehc2 小时前
PyTorch
人工智能·pytorch·python