Kotlin

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Compartir
Publicado por
parzibyte

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.