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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。