Gruki Logo

Gruki - Documentación de Programación

Kotlin

¿Qué son 'val' y 'var' en Kotlin? La diferencia entre un juguete nuevo y una pizarra mágica

Aprende la diferencia entre 'val' y 'var' en Kotlin de forma sencilla. Descubre cómo la mutabilidad afecta tus variables y cómo elegir la opción correcta para un código más seguro y eficiente.

En Kotlin, 'val' y 'var' son como etiquetas que le pones a tus cajas para guardar cosas (datos). Estas etiquetas le dicen a Kotlin cómo puedes usar lo que está dentro de la caja.

Imagínate que tienes un juguete nuevo, como un coche de carreras. Si la caja tiene la etiqueta 'val', significa que ese coche siempre será el mismo coche de carreras. No lo puedes cambiar por un camión de bomberos. En Kotlin, 'val' significa que la variable es inmutable, es decir, su valor no puede cambiar una vez asignado.

Ahora, piensa en una pizarra mágica. Puedes dibujar un sol, luego borrarlo y dibujar una casa. Si la caja tiene la etiqueta 'var', es como si tuvieras una pizarra mágica. Puedes cambiar lo que hay dentro cuantas veces quieras. En Kotlin, 'var' significa que la variable es mutable, puedes cambiar su valor después de haberlo asignado inicialmente.

'val': El tesoro inmutable - ¡Intenta cambiarlo y verás!

Cuando declaras una variable con 'val', estás diciendo: 'Este valor es para siempre. No lo toques'. Intenta cambiarlo y Kotlin te regañará.

Por ejemplo, si tienes el número de la suerte de tu equipo favorito (que nunca cambia), usarías 'val': `val numeroDeLaSuerte = 7`

Imagina que intentas cambiar el número de la suerte. Kotlin te dirá: '¡No puedes hacer eso! ¡Ese número es especial y no se puede modificar!'.

Puntos importantes:

  • Usar 'val' ayuda a prevenir errores. Si sabes que algo no debe cambiar, declararlo como 'val' te protege de modificarlo accidentalmente.
  • Las variables 'val' hacen que tu código sea más fácil de entender. Cuando ves 'val', sabes que ese valor siempre será el mismo, lo que simplifica la lectura del código.

'var': La pizarra mágica - ¡Dibuja y borra a tu antojo!

Cuando declaras una variable con 'var', estás diciendo: 'Este valor puede cambiar'. Es como tener una pizarra mágica donde puedes escribir y borrar cuando quieras.

Por ejemplo, si estás contando cuántas canicas tienes en una bolsa y vas agregando más, usarías 'var': `var cantidadDeCanicas = 10`

Luego, si encuentras 5 canicas más, puedes cambiar el valor de la variable: `cantidadDeCanicas = 15`. ¡Kotlin no se quejará porque es una 'var'!

Puntos importantes:

  • Usar 'var' es útil cuando necesitas que un valor cambie a lo largo del tiempo. Por ejemplo, para contar puntos en un juego o actualizar la temperatura.
  • Pero ten cuidado al usar 'var'. Demasiados cambios pueden hacer que tu código sea difícil de seguir y entender. Piensa bien si realmente necesitas que un valor cambie antes de usar 'var'.

¿Cuándo usar 'val' y cuándo 'var'? Elige sabiamente

Como regla general, intenta usar 'val' siempre que sea posible. Es como usar un candado en la caja de tus juguetes. Solo usa 'var' cuando realmente necesitas que el valor cambie.

Piensa en cada variable como una decisión importante. Pregúntate: '¿Este valor va a cambiar?'. Si la respuesta es 'no', ¡usa 'val'! Si la respuesta es 'sí', entonces 'var' es tu amigo.

Usar 'val' por defecto hace que tu código sea más seguro, fácil de entender y menos propenso a errores. ¡Es como construir un castillo fuerte!

Ejemplos de Código

Ejemplo sencillo que muestra la diferencia entre 'val' y 'var' en Kotlin.

Lenguaje: Kotlin

Explicación del código:

  1. Línea 1: `fun main() {` define la función principal del programa, donde empieza la ejecución.
  2. Línea 2: `// 'val' - No se puede modificar` es un comentario que explica que las variables declaradas con 'val' no pueden ser modificadas.
  3. Línea 3: `val nombre = "Juan"` declara una variable inmutable llamada 'nombre' y le asigna el valor "Juan". Es como ponerle una etiqueta 'val' a la caja donde guardaste el nombre.
  4. Línea 4: `// nombre = "Pedro" // Esto daría un error porque 'nombre' es 'val'` muestra (en un comentario) que intentar cambiar el valor de 'nombre' generaría un error.
  5. Línea 5: `// 'var' - Se puede modificar` es un comentario que explica que las variables declaradas con 'var' pueden ser modificadas.
  6. Línea 6: `var edad = 10` declara una variable mutable llamada 'edad' y le asigna el valor 10. Es como tener una pizarra mágica donde inicialmente dibujaste el número 10.
  7. Línea 7: `edad = 11` cambia el valor de la variable 'edad' a 11. Es como borrar el 10 de la pizarra y escribir 11 en su lugar.
  8. Línea 8: `println("Nombre: $nombre, Edad: $edad")` imprime el nombre y la edad en la consola. Muestra el valor actual de cada variable.

Recursos relacionados

Explora más contenido relacionado con Mutabilidad: val vs var para profundizar tus conocimientos.