Computer >> Máy Tính >  >> Lập trình >> Android

Sự khác biệt giữa const và val trong Kotlin là gì?

const Keyword

const từ khóa được sử dụng trong Kotlin bất cứ khi nào giá trị biến vẫn là const trong suốt vòng đời của một ứng dụng. Có nghĩa là const chỉ được áp dụng trên các thuộc tính bất biến của lớp. Nói một cách đơn giản, hãy sử dụng const để khai báo thuộc tính chỉ đọc của một lớp.

Có một số ràng buộc được áp dụng cho const Biến đổi. Chúng như sau -

  • const chỉ có thể được áp dụng cho thuộc tính bất biến của một lớp.

  • Nó không thể được gán cho bất kỳ hàm hoặc bất kỳ phương thức khởi tạo lớp nào. Nó phải được gán với kiểu dữ liệu nguyên thủy hoặc Chuỗi.

  • const biến sẽ được khởi tạo tại thời điểm biên dịch.

Ví dụ

Trong ví dụ sau, chúng tôi sẽ khai báo một const và chúng tôi sẽ sử dụng cùng một biến trong ứng dụng của mình.

const val sName = "tutorialspoint";
// This line will throw an error as we cannot
// use Const with any function call.
// const val myFun = MyFunc();

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

Đầu ra

Nó sẽ mang lại kết quả sau -

Example of Const-Val--->tutorialspoint

Từ khóa Val

Trong Kotlin, val cũng được sử dụng để khai báo một biến. Cả "val" "const val" được sử dụng để khai báo các thuộc tính chỉ đọc của một lớp. Các biến được khai báo là const được khởi tạo trong thời gian chạy.

  • val xử lý thuộc tính không thay đổi của một lớp, nghĩa là chỉ các biến chỉ đọc mới có thể được khai báo bằng cách sử dụng val .

  • val được khởi tạo trong thời gian chạy.

  • Đối với val , nội dung có thể bị tắt tiếng, trong khi đối với const val , không thể tắt tiếng nội dung.

Ví dụ

Chúng tôi sẽ sửa đổi ví dụ trước để chuyển một hàm bằng cách sử dụng val và chúng tôi sẽ không gặp bất kỳ lỗi nào trong thời gian chạy.

const val sName = "tutorialspoint";

// We can pass function using val
val myfun=MyFunc();

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

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

Đầu ra

Khi bạn thực thi mã, nó sẽ tạo ra kết quả sau -

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