Kotlin

Val vs var en Kotlin

En Kotlin se pueden definir variables de dos maneras: usando val y usando var. En este post voy a explicar la diferencia entre cada una de ellas.

Val y var en Kotlin

Si vienes de Java, val es el equivalente a declarar una variable como final. Es decir, una vez que la asignas ya no puedes modificarla.

var es como declarar una variable que, como su nombre lo dice, es variable; puedes reasignar su valor.

val es inmutable, var es mutable.

Val

Cuando declaras con val y le asignas un valor, ya no puedes asignarle otro. Lo siguiente es incorrecto y genera un error de Val cannot be reassigned:

See the gist on github.

Recuerda que para declarar con val puedes hacerlo como en el ejemplo de arriba, u omitiendo su tipo:

val nombre = "Luis"

O indicando su tipo y su valor:

val nombre : String = "Luis"

Por cierto, no se puede cambiar el valor de la variable, pero cuando hablamos de objetos, sí se pueden cambiar las propiedades de los mismos.

Lo siguiente es correcto:

See the gist on github.

Ya que no estamos reasignando, simplemente estamos cambiando propiedades internas.

Var

Las variables con var se pueden cambiar en cualquier momento; obviamente respetando los tipos de datos, es decir, no puedes asignar un entero a una variable que es de cadena.

Se puede declarar con valor, con tipo y valor, o declararla y después asignarla:

See the gist on github.

También se puede reasignar las veces que sea necesario:

See the gist on github.

¿Cuál debería usar?

Siempre trata de usar val; si programas en Android vas a declarar los elementos como botones, edittexts, etcétera como val.

También usa val para definir valores que no vas a cambiar a través del tiempo.

Si tu código no permite usar val, usa var. Es decir, si necesitas forzosamente cambiar la variable a cada momento entonces simplemente usa var y no te compliques la vida.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

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/

Ver comentarios

Compartir
Publicado por
parzibyte

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

11 horas hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

1 día hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

1 día hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

2 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.