def 方法

scala def 方法

def 方法名(参数): 返回类型 = {方法体}

def fun(name: String): String = {
val info = "hello "+ name
// 返回值,代码块的最后一行代码的值,不用写return
info
}
// 方法调用
println(fun("小李"))
hello 小李

方法创建方式

// 无返回值
scala> def fun(): Unit ={println("---")}
fun: ()Unit
scala> fun()
---
// 自动推断返回值类型
scala> def fun() = {print("!!!")}
fun: ()Unit
// 无参数时可以不写括号,但调用时也不能写括号
scala> def fun = print("!!!")
fun: Unit
scala> fun
!!!
// 没有返回值的时候 "=" 可以省略
scala> def fun {print("!!!")}
fun: Unit
scala> fun
!!!

默认参数

// 默认参数,不能省略变量的类型
scala> def fun(name: String = "aabb") = print(name+" !!!")
fun: (name: String)Unit
scala> fun()
aabb !!!
scala> fun(name = "abc")
abc !!!

可变长参数

// 可变长参数,内部是Array[T]的数组
scala> def fun(name: String*) = for(e <- name) println("hello "+e)
fun: (name: String*)Unit
scala> fun("a","b","c")
hello a
hello b
hello c
scala> val arr = Array("a","b","c")
arr: Array[String] = Array(a, b, c)
// 将arr里面的每一个数据取出来放进去
scala> fun(arr:_*)
hello a
hello b
hello c
posted @   会走的树  阅读(727)  评论(0编辑  收藏  举报
编辑推荐:
· 大模型 Token 究竟是啥:图解大模型Token
· 35岁程序员的中年求职记:四次碰壁后的深度反思
· 继承的思维:从思维模式到架构设计的深度解析
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
阅读排行:
· BotSharp 5.0 MCP:迈向更开放的AI Agent框架
· 分享 3 款基于 .NET 开源且免费的远程桌面工具
· 在线聊天系统中的多窗口数据同步技术解密
· 2025,回顾出走的 10 年
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(5)
点击右上角即可分享
微信分享提示