Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Khác biệt giữa const và val trong Kotlin

Từ khóa const

const dùng cho biến có giá trị không đổi suốt vòng đời ứng dụng. Chỉ áp dụng cho thuộc tính bất biến (read-only) của class. Ràng buộc:

  • Chỉ dùng với thuộc tính immutable.
  • Không gán bằng hàm hoặc constructor; chỉ kiểu nguyên thủy hoặc String.
  • Khởi tạo tại compile-time.

Ví dụ const

const val sName = "tutorialspoint"
// const val myFun = MyFunc() // Lỗi: không dùng const với function call

fun main() {
    println("Example of Const-Val--->$sName")
}

Kết quả

Example of Const-Val--->tutorialspoint

Từ khóa val

val cũng khai báo thuộc tính read-only nhưng khác biệt:

  • Khởi tạo tại runtime.
  • Có thể gán bằng kết quả hàm.
  • Nội dung có thể mutable (nếu là object), nhưng tham chiếu không đổi.

Ví dụ val với hàm

const val sName = "tutorialspoint"
val myfun = MyFunc() // OK với val

fun main() {
    println("Example of Const-Val--->$sName")
    println("Example of Val--->$myfun")
}

fun MyFunc(): String {
    return "Hello Kotlin"
}

Kết quả

Example of Const-Val--->tutorialspoint
Example of Val--->Hello Kotlin

Tóm tắt: const val = hằng số compile-time; val = biến read-only runtime.