Scala下划线用法总结

Scala是一门以java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。scala 单作为一门语言来看, 非常的简洁高效,在Scala中存在很多让代码更加简洁的语法,下划线"_"便是其中一个。下划线的普遍用法总结如下:

  1. 用于变量初始化

在Java中,可以声明变量而不必给出初始值,在Scala中,变量在声明时必须显示指定,可以使用下划线对变量进行初始化。而且该语法只适用于成员变量,不适用于局部变量。例:

  1. 用于导包引入

导包引入时使用_导入该包下所有内容,类比Java中的*。例如:

3.用于将方法转变为函数

在Scala中方法不是值,而函数是。所以一个方法不能赋值给一个val变量,而函数可以。方法可以转换为函数赋值给变量,例:

  1. 用于模式匹配

模式匹配中可以用下划线来作为Java中default的类比使用,也可以在匹配集合类型时,用于代表集合中元素,例:

  1. 用于访问tuple元素

例:

  1. 用于简写函数

如果函数的参数在函数体只出现一次,则可以用下划线代替。

  1. 定义偏函数

对某个多参数函数进行部分函数调用,没有传入的参数使用_代替,返回结果即为偏函数。例:

相关推荐
朦胧之1 小时前
AI 编程-老项目改造篇
java·前端·后端
爱勇宝4 小时前
我做了一个只用来搜歌词的小 App
android·前端·后端
IT_陈寒5 小时前
SpringBoot自动配置坑了我一晚上,原来问题出在这
前端·人工智能·后端
SelectDB5 小时前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
SelectDB6 小时前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
PinkSun6 小时前
Spring AI ChatMemory踩坑实录:重启丢数据、Agent丢记忆、对话溢出
后端·ai编程
壹方秘境6 小时前
我用Go语言开发了一个跨平台的HTTPS抓包和调试工具
前端·后端·ios
神秘面具男6 小时前
HarmonyOS 6.0跨端远程控制
前端·后端
苏三说技术6 小时前
全网爆火的Loop到底是什么?
后端