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

二、闭包

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

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

暂时不深入研究

相关推荐
坐吃山猪19 分钟前
Python34_装饰器知识
开发语言·python·ubuntu
ZHW_AI课题组19 分钟前
调用华为智能云API实现手写图片识别
图像处理·python·机器学习·华为·分类
weixin_6600967820 分钟前
【无标题】
python·debugpy
Fanfanaas20 分钟前
Linux 系统编程 文件篇 (一)
linux·运维·服务器·c++·学习
小草cys20 分钟前
Anaconda 的虚拟环境(envs)从默认的 C 盘迁移到其他磁盘
开发语言·python·anaconda
keineahnung234520 分钟前
PyTorch SymNode 的 _is_contiguous 從何而來?──sizes_strides_impl 實作詳解
人工智能·pytorch·python·深度学习
笨鸟先飞的橘猫22 分钟前
基于Skynet的分布式游戏场景题:大型MMO的跨服战场系统设计
分布式·学习·游戏·面试·lua
七牛云行业应用26 分钟前
MCP 服务器本地部署实战【2026】:Python/Node.js 搭建 + Claude/Cursor/TRAE
服务器·python·node.js
Web极客码28 分钟前
Python Deque:构建实时滑动窗口与高性能缓存的“隐藏高手”
java·python·缓存
leon_teacher29 分钟前
HarmonyOS 6 鸿蒙APP应用实战:基于 ArkUI V2 打造儿童古诗学习宝 App 从 0 到 1
学习·华为·harmonyos