示例代码:
object Assinment_Internals {
def main(args: Array[String]): Unit = {
//@是别名,变量b的值是1000,同时把a绑定到b上,可以认为a是b的别名,其实使用模式匹配完成的。
// 模式匹配完成之后会同时返回a和b的内容
val a@b = 1000 //a = 1000, b = 1000
println("a = " + a + ", b = "+b)
val (c,d) = (1000,2000) //tuple类型的模式匹配。同时定义了c是1000,d是2000;
val Array(e,f) = Array(1000,2000) //变量e和f必须是小写,大写的话模式匹配时会把大写的认为是常量的,但是没有定义这样一个常量的话编译器就会报错
object Test{val 1 = 2} //常量模式匹配,显然这里1=2不成立。但是编译器没报错,因为它是lazy级别的;只有在我们第一次真正运行时,它才开始匹配。
}
}