Variables y constantes en Kotlin

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.

Variables

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"

Valores con val

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

Constante

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.

Conclusión

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *