В чем разница между константом и val
consts are compile time constants. Meaning that their value has to be
assigned during compile time, unlike vals, where it can be done at runtime.
This means, that consts can never be assigned to a function or any
class constructor, but only to a String or primitive.
For example:
const val foo = complexFunctionCall() //Not okay
val fooVal = complexFunctionCall() //Okay
const val bar = "Hello world" //Also okay
abdullah