织梦网站导航浮动,网站模版,建门户网站需要多少钱,淘宝做网站推广文章目录 scala中的变量常量 val#xff08;不可变变量#xff09;变量 var变量声明多变量声明匿名变量 _ 声明 变量类型声明变量命名规范 scala中的变量
常量 val#xff08;不可变变量#xff09;
使用val关键字声明变量是不可变的#xff0c;一旦赋值后不能被修改
对… 文章目录 scala中的变量常量 val不可变变量变量 var变量声明多变量声明匿名变量 _ 声明 变量类型声明变量命名规范 scala中的变量
常量 val不可变变量
使用val关键字声明变量是不可变的一旦赋值后不能被修改
对于 val 类型的变量一旦它被初始化它所指向的内存地址就不会改变尽管该地址中的值可能会改变如果它引用的是一个可变对象。
val name Alice
val name Bob // 这行代码会导致编译错误因为 name 是不可变的变量 var
使用 var 关键字声明的变量是可变的可以在其生命周期内被重新赋值。然它的值可以被重新赋值但它的类型仍然是固定的
对于 var 类型的变量其引用的内存地址可以改变这意味着你可以将 var 变量重新赋值为不同的值这些值可能会存储在不同的内存地址中。
var age 25
age 26 // 这行代码是合法的因为 age 是可变的变量声明
在 Scala 中使用 var 关键字声明的变量确实是可变的这意味着你可以在变量的生命周期内多次改变它的值。然而这并不意味着你可以多次声明同一个变量。一旦一个变量被声明就不能在同一作用域内再次声明它无论它是 var 还是 val。
多变量声明
你可以在一行代码中声明多个变量使用逗号分隔
val a, b, c 1 // a, b, c 都被赋值为 1使用元组进行声明解包
var (x, y, z) (10, 20, world)匹配声明
val tuple (1, 2.0, three)
tuple match {case (x: Int, y: Double, z: String) println(sx$x, y$y, z$z)
}匿名变量 _ 声明
在匿名函数和模式匹配中你可以使用 _ 作为匿名变量或占位符。
val numbers List(1, 2, 3, 4, 5)
val evenNumbers numbers.filter(_ % 2 0) // _ 代表当前元素变量类型声明
在 Scala 中声明变量和常量不一定要指明数据类型在没有指明数据类型的情况下其数据类型是通过变量或常量的初始值推断出来的。
所以如果在没有指明数据类型的情况下声明变量或常量必须要给出其初始值否则将会报错。
显式类型声明明确指定变量的类型。类型推断省略类型声明由编译器推断类型。
在 Scala 中如果你不显式地指定变量的类型编译器会尝试根据变量的初始值推断其类型。这种类型推断机制确实可以让你编写更简洁的代码。然而一旦变量的类型被推断出来它就不能再改变以接受不同类型的值
显式类型声明
object ListData {def main(args:Array[String]):Unit{val lst: List[Any] List(1,2,3,5)val str1: String helllo}
}类型推断
object ListData {def main(args:Array[String]):Unit{val lst List(1,2,3,5)val str1 helllo}
}变量命名规范
变量名必须以字母A-Z 或 a-z或下划线_开头。尽量不要使用以下划线开头的变量名这通常用于标识内部或私有变量。变量名不能是Scala的关键字。驼峰命名myVariableName, userAge, accountBalance