Google News
logo
Kotlin - Interview Questions
Explain the difference between 'val' and 'var' in Kotlin.
In Kotlin, `val` and `var` are used to declare variables, but they have different characteristics:

1. `val`:

* The `val` keyword is used to declare a read-only variable, meaning its value cannot be changed once it is assigned.

* It is similar to declaring a constant or an immutable variable.

* The variable assigned with `val` is effectively a final variable.

* The value assigned to a `val` variable must be determined at the time of declaration or in the constructor if it's a member variable.

Example :
       val pi = 3.14​


2. `var`:

* The `var` keyword is used to declare a mutable variable, meaning its value can be changed after it is assigned.

* It allows reassignment of values to the variable.

Example :
     var counter = 0
     counter += 1​
Key differences between `val` and `var`:

* Immutability : `val` variables are read-only and cannot be reassigned, while `var` variables are mutable and can be reassigned with new values.

* Usage : `val` is used when you need a variable whose value remains constant or unchangeable. It is similar to declaring a constant. `var` is used when you need a variable whose value can change over time.

* Intention : By using `val`, you communicate the intention that the value should not change, which can help improve code readability and prevent accidental modifications.

* Favoring `val`: It is generally recommended to use `val` whenever possible, as it promotes immutability and reduces the chances of introducing bugs due to mutable state. Immutable variables are often preferred in functional programming and concurrent programming paradigms.

In `val` is used for read-only variables, while `var` is used for mutable variables. The choice between them depends on whether you need the variable to hold a constant value or a value that can change.
Advertisement