var 和 val 都用于在 Kotlin 语言中声明变量。但是,它们之间存在一些关键区别:
VAR(Variable)
它是一个一般变量。使用 var 声明的变量的值可以在整个程序中随时更改。 var 也称为可变的和非最终变量,因为值可以随时更改。
例子:
fun main()
{
var marks = 10
println("Previous marks is " + marks)
marks = 30
println("New marks " + marks)
}
输出:
Previous marks is 10 New marks 30
VAL(Value)
使用val存储的对象不能改变,也不能重新赋值,就像java中的final关键字一样。 val 是不可变的。然而,一旦赋值,val 就变成只读的,val 对象的属性可以更改,但对象本身是只读的。
示例 1:
fun main()
{
val marks = 10
println("Previous marks is " + marks)
marks = 30
println("new marks " + marks)
}
输出:
Val cannot be reassigned
示例 2:
// Changing values of val object
fun main()
{
val book = Book("Java", 1000)
println(book)
book.name = "Kotlin"
println(book)
}
data class Book(var name : String = "",
var price : Int = 0)
输出:
Book(name=Java, price=1000) Book(name=Kotlin, price=1000)
相关用法
- Kotlin maxByOrNull用法及代码示例
- Kotlin groupByTo用法及代码示例
- Kotlin OverloadResolutionByLambdaReturnType.<init>用法及代码示例
- Kotlin reduceRightIndexedOrNull用法及代码示例
- Kotlin dropWhile用法及代码示例
- Kotlin takeWhile用法及代码示例
- Kotlin elementAt用法及代码示例
- Kotlin chunked用法及代码示例
- Kotlin filterNot用法及代码示例
- Kotlin firstNotNullOf用法及代码示例
- Kotlin BuilderInference用法及代码示例
- Kotlin minByOrNull用法及代码示例
- Kotlin titlecase用法及代码示例
- Kotlin all用法及代码示例
- Kotlin drop用法及代码示例
- Kotlin toTypedArray用法及代码示例
- Kotlin reduceIndexed用法及代码示例
- Kotlin elementAtOrNull用法及代码示例
- Kotlin flatten用法及代码示例
- Kotlin sort用法及代码示例
- Kotlin Random.<init>用法及代码示例
- Kotlin filterIsInstanceTo用法及代码示例
- Kotlin distinctBy用法及代码示例
- Kotlin LongStream.toList用法及代码示例
- Kotlin indices用法及代码示例
注:本文由纯净天空筛选整理自shirshak大神的英文原创作品 Difference between var and val in Kotlin。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。