var是变量声明关键字,类似于Java中的变量,变量值可以更改,但是变量类型不能更改。
val常量声明关键字。
def 关键字用于创建方法(注意方法和函数的区别)
还有一个lazy val(惰性val)声明,意思是当需要计算时才使用,避免重复计算
代码示例:
var x = 3 // x是Int类型
x = 4 //
x = "error" // 类型变化,编译器报错'error: type mismatch'
val y = 3
y = 4 //常量值不可更改,报错 'error: reassignment to val'
def fun(name: String) = "Hey! My name is: " + name
fun("Scala") // "Hey! My name is: Scala"
//注意scala中函数式编程一切都是表达式
lazy val x = {
println("computing x")
3
}
val y = {
println("computing y")
10
x+x //
y+y // x 没有计算, 打印结果"computing y"
var是变量声明关键字,类似于Java中的变量,变量值可以更改,但是变量类型不能更改。
val常量声明关键字。
def 关键字用于创建方法(注意方法和函数的区别)
还有一个lazy val(惰性val)声明,意思是当需要计算时才使用,避免重复计算
代码示例:
var x = 3 // x是Int类型
x = 4 //
x = "error" // 类型变化,编译器报错'error: type mismatch'
val y = 3
y = 4 //常量值不可更改,报错 'error: reassignment to val'
def fun(name: String) = "Hey! My name is: " + name
fun("Scala") // "Hey! My name is: Scala"
//注意scala中函数式编程一切都是表达式
lazy val x = {
println("computing x")
3
}
val y = {
println("computing y")
10
}
x+x //
y+y // x 没有计算, 打印结果"computing y"