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
字符串插值
三种插值方式
支持s、f和raw三种字符串插值器:
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
2019

被折叠的 条评论
为什么被折叠?



