En este post voy a explicar cómo declarar (y cuál es la diferencia entre) variables, valores y constantes en Kotlin, además de algunas ventajas que tiene cada una.
Las variables se pueden definir con var y con val, aunque con val ya no se pueden mutar más adelante.
Para declarar una variable se puede indicar su tipo usando dos puntos:
var nombre : String
Y se puede indicar su valor más tarde:
nombre = "Luis"
Otra manera es dejar que el compilador infiera el tipo:
var nombre = "Luis"
Y si queremos declarar la variable, pero no dejar que el compilador infiera el tipo, lo hacemos así:
var nombre : String = "Luis"
Como lo dije, se pueden declarar valores (que son como las constantes) que una vez declarados no pueden ser cambiados.
Para declarar un valor, se debe indicar su valor (valga la redundancia) en su declaración. Ya sea indicando su tipo:
val edad : Int = 22
O dejando que el compilador infiera:
val edad = 22
Pero no se puede declarar y después definir, al menos que sea abstracto. Lo siguiente es incorrecto:
val edad : Int
Una constante no puede cambiar durante la ejecución del programa (lo mismo hacen los valores), pero aparte de ello, su asignación debe ser constante.
Para declararla se usa const val
.
Por cierto, una constante solo puede ser declarada dentro de un objeto o en la parte superior de una clase, eso lo veremos después, por ahora presta atención en su definición.
Su valor se define así:
object constantes{
const val PI = 3.1416
}
println(constantes.PI)
Pi es 3.1416 y lo sabemos todos, será constante siempre, al menos que cambiemos el valor nosotros manualmente en esa línea.
La diferencia de la constante es que su asignación debe ser constante. Lo siguiente es incorrecto:
object constantes{
const val PI = obtenerPI()
fun obtenerPI() = 3.1416
}
println(constantes.PI)
En este caso, para obtener la constante, estamos llamando a una función. Y aunque esa función devuelve un solo valor, la misma podría devolver otros valores, es decir, nada asegura que esa función siempre devolverá el mismo valor.
Así que esa asignación es errónea.
En conclusión, siempre trata de usar val
. Si realmente requieres que ese valor sea una variable, usa var
.
Utiliza const val
si, por ejemplo, tienes un objeto de constantes, ya que const val no se puede declarar así sin objetos.
Por cierto, si quieres saber todavía más entre la diferencia de val
y var
, mira este post.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.