Trong Kotlin, chúng ta sử dụng 2 từ khoá là var và val để khai báo biến. Sự khác biệt giữa 2 từ khoá này là var sử dụng để khai báo những biến mutable, còn val thì để khai báo những biến immutable. Nói nôm na cho các bạn hiểu về mutable và immutable thì đây là những khái niệm trong Java, immutable là những đối tượng mà thuộc tính, tính chất của nó sẽ không thay đổi sau khi đã khởi tạo, còn mutable thì ngược lại, chúng ta có thể thay đổi chúng.
Chúng ta có thể khai báo một biến trong Kotlin như sau:
1 2 |
var name = "Khanh" val age = 35 |
Như các bạn thấy, chúng ta không cần phải khai báo kiểu dữ liệu cho biến, tính năng này tương tự như type inference với từ khoá var trong Java. Kotlin sẽ tự động dựa vào cách khai báo giá trị của biến để xác định kiểu dữ liệu của biến là gì. Tất nhiên, nếu các bạn muốn khai báo biến một cách tường minh thì cũng có thể khai báo như sau:
1 2 |
var name: String = "Khanh" val age: Int = 35 |
Tương tự như Java, nếu các bạn không khai báo kiểu dữ liệu của biến thì bắt buộc phải gán cho biến đó giá trị, không thì compiler sẽ không biết kiểu giá trị của biến là gì. Nếu cố tình làm vậy thì sẽ bị lỗi ngay: