Giới thiệu
Trong Kotlin, biến được khai báo bằng hai từ khóa: var (mutable) và val (immutable). Bài viết so sánh hai cách khai báo này.
Bảng so sánh
| Thuộc tính | var | val |
|---|---|---|
| Khai báo | var varName = "hello World" | val sName = "tutorialspoint.com" |
| Tính bất biến | Mutable (có thể thay đổi) | Immutable (bất biến) |
| Số lần gán | Có thể gán nhiều lần | Chỉ gán một lần |
| Gán lại | Cho phép | Không cho phép |
Ví dụ 1: var có thể gán lại
val sName = "tutorialspoint"
var varName = "hello World"
fun main() {
println("Example of val--->$sName")
println("Example of Var--->$varName")
// var có thể thay đổi
varName = "new value"
println("New value of the variable declared using Var: $varName")
}
Kết quả
Example of val--->tutorialspoint Example of Var--->hello World New value of the variable declared using Var: new value
Ví dụ 2: val không thể gán lại (lỗi compile)
val sName = "tutorialspoint"
var varName = "hello World"
fun main() {
println("Example of val--->$sName")
println("Example of Var--->$varName")
// val không thể gán lại -> lỗi compile
sName = "new value"
println("New value of the variable declared using Var: $sName")
}
Lỗi
main.kt:9:5: error: val cannot be reassigned sName = "new value"; ^
Tóm lại: Dùng val cho hằng số, var cho biến cần thay đổi.