Kotlin 中 val 和 var 的區別
Kotlin 允許宣告兩種變數型別:val
和 var
。本文將討論兩者之間的區別。
雖然這兩個關鍵字都用於宣告變數,但它們之間存在一些關鍵區別。
Kotlin 中 val
和 var
的區別
val
和 var
屬性之間最顯著的區別是前者是不可變的。我們可以改變 var
變數的值,但我們不能改變 val
變數的值。
它們類似於 Java 中的 final
關鍵字。val
和 var
變數之間的其他一些區別是:
var
變數可以多次賦值,而val
變數只能賦值一次。var
變數可以重新賦值,但val
變數不能重新賦值。
現在我們知道了 val
和 var
之間的區別,讓我們看一些我們嘗試更改它們的值的示例。
在 Kotlin 中使用 var
關鍵字
在這個例子中,我們將使用 var
關鍵字來宣告一個變數並嘗試改變它的值。
var v = "Hello!"
fun main() {
println("This is a var variable: "+v);
// Changing the value of var variable
v = "Welcome!";
println("New value of the var variable is: " +v);
}
輸出:
點選這裡檢視上面示例程式碼的演示。
在 Kotlin 中使用 val
關鍵字
在這裡,我們將使用 val
關鍵字建立一個不可變變數並嘗試更改其值。
val v = "Hello!"
fun main() {
println("This is a val variable: "+v);
// Changing the value of val variable
v = "Welcome!";
println("New value of the val variable is: " +v);
}
輸出:
正如我們在輸出中看到的,更改 val
變數會引發錯誤:Val cannot be reassigned
。
點選這裡檢視示例程式碼的演示。
在 Kotlin 中更改 val
變數的屬性
雖然我們不能更改使用 val
關鍵字宣告的變數的值,但我們仍然可以更改它們的屬性。讓我們看一個使用 val
宣告變數並更改其屬性的示例。
fun main(args: Array<String>) {
val student = Student("David Shaw",1)
print(student)
student.name = "Joe Smith"
print("\n"+student)
}
data class Student(var name: String = "", var id: Int = 0)
輸出:
正如我們所見,val
變數的屬性是可變的。
點選這裡檢視示例程式碼的演示。
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn