Scala变量声明重点知识

Scala变量声明的基本语法

Scala提供两种主要变量声明方式:val(不可变)和var(可变)。val声明的变量一旦赋值不能修改,var声明的变量可以重新赋值。

val x: Int = 10  // 不可变变量
var y: String = "Hello"  // 可变变量

类型推断机制

优势

Scala编译器能自动推断变量类型,类型标注可省略。例如val name = "Alice"会被推断为String类型。

val age = 30  // 自动推断为Int

惰性初始化

lazy val特性

使用lazy val声明的变量只在首次访问时初始化,适用于耗资源操作:

lazy val expensiveResource = initializeExpensiveResource()

变量作用域

块作用域规则

Scala支持块级作用域,内部定义的变量会遮蔽外部同名变量:

val outer = 1
{
  val outer = 2  // 遮蔽外部的outer
  println(outer) // 输出2
}

模式匹配声明

解构赋值特性

支持通过模式匹配直接解构数据结构:

val (a, b) = (1, "text")  // a=1, b="text"
case class Person(name: String, age: Int)
val Person(n, a) = Person("Bob", 25)  // n="Bob", a=25

字符串插值

三种插值方式

支持sfraw三种字符串插值器:

val name = "Alice"
s"Hello $name"  // 基本插值
f"Value: ${math.Pi}%.2f"  // 格式化插值
raw"Line\nBreak"  // 原始字符串

元组与多变量声明

高效多值声明

元组支持同时声明多个变量:

val (id, email) = (1001, "user@example.com")

类型别名

Omitting

使用type关键字可创建类型别名,提升代码可读性:

type UserID = Int
val currentUser: UserID = 1001

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值