0Pricing
Scala for Backend Engineering & Functional Programming · Lección

val, var y tipos

Bindings e inferencia

val, var y tipos es una lección gratuita de Scala for Backend Engineering & Functional Programming en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Scala for Backend Engineering & Functional Programming, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Scala for Backend Engineering & Functional Programming incluye 4 lecciones en total.

Enlaces en Scala

En Scala, asigna nombres a los valores mediante enlaces. Las dos palabras clave son val y var.

Un val es inmutable (no se puede reasignar), mientras que un var es mutable (se puede reasignar).

Declarar un val

Un val vincula un nombre a un valor una sola vez. Intentar reasignarlo produce un error de compilación.

Utilice val de forma predeterminada. La inmutabilidad facilita la comprensión del código.

object Main {
  def main(args: Array[String]): Unit = {
    val name = "Ada"
    println(name)
  }
}

Declarar un var

Un var se puede reasignar mediante =. Utilícelo únicamente cuando realmente necesite un estado mutable.

Tenga en cuenta que el nuevo valor debe seguir coincidiendo con el tipo original.

object Main {
  def main(args: Array[String]): Unit = {
    var count = 0
    count = count + 1
    count = count + 1
    println(count)
  }
}

Inferencia de tipos

Scala suele determinar el tipo por usted. Al escribir val x = 42, x se convierte automáticamente en un Int.

Esto se denomina inferencia de tipos: obtiene tipado estático sin tener que escribir siempre el tipo.

object Main {
  def main(args: Array[String]): Unit = {
    val x = 42
    val pi = 3.14
    val flag = true
    println(x)
    println(pi)
    println(flag)
  }
}

Anotaciones de tipo explícitas

También puede indicar el tipo explícitamente después de dos puntos: val x: Int = 42.

Esto resulta útil para documentar el código o para elegir un tipo más amplio que el inferido.

object Main {
  def main(args: Array[String]): Unit = {
    val age: Int = 30
    val price: Double = 9.99
    val label: String = "Sale"
    println(label + ": " + price)
  }
}

Tipos numéricos comunes

Scala tiene varios tipos numéricos:

  • Int para números enteros
  • Long para números enteros grandes
  • Double para números decimales
  • Float para números decimales de menor precisión

Un literal entero tiene Int como tipo predeterminado; un literal decimal tiene Double como tipo predeterminado.

object Main {
  def main(args: Array[String]): Unit = {
    val whole: Int = 7
    val big: Long = 9000000000L
    val dec: Double = 2.5
    println(whole + dec)
  }
}

Boolean y Char

Boolean contiene true o false. Char contiene un solo carácter escrito entre comillas simples.

Son tipos completos que puede almacenar en vals y vars.

object Main {
  def main(args: Array[String]): Unit = {
    val isReady: Boolean = true
    val grade: Char = 'A'
    println(isReady)
    println(grade)
  }
}

Tipo String

String contiene texto entre comillas dobles. Las cadenas son inmutables en Scala.

Puede concatenarlas con + y llamar a muchos métodos útiles sobre ellas.

object Main {
  def main(args: Array[String]): Unit = {
    val first = "Grace"
    val last = "Hopper"
    val full = first + " " + last
    println(full.toUpperCase)
  }
}

¿Por qué val en lugar de var?

Los valores inmutables evitan toda una clase de errores: nada más puede modificarlos sin que usted lo advierta.

  • Facilitan la comprensión del código
  • Son más seguros en código concurrente
  • Fomentan un estilo funcional

Utilice var únicamente cuando la mutación sea realmente necesaria.

La seguridad de tipos en acción

Como Scala tiene tipado estático, el compilador detecta las incompatibilidades de tipos antes de ejecutar el programa.

Asignar texto a un Int produciría un error en tiempo de compilación. Este es un código válido y cuyos tipos son correctos.

object Main {
  def main(args: Array[String]): Unit = {
    val quantity: Int = 3
    val unitPrice: Double = 4.50
    val total: Double = quantity * unitPrice
    println(total)
  }
}

Integrarlo todo

Combine enlaces inmutables y mutables con inferencia y anotaciones en un programa pequeño.

Observe cómo el compilador realiza el seguimiento de cada tipo por usted.

object Main {
  def main(args: Array[String]): Unit = {
    val base = 100
    var running = base
    val step: Int = 25
    running = running + step
    println(running)
  }
}

Comprobación rápida

Compruebe su comprensión de los enlaces y los tipos.

Resumen

Ha aprendido cómo Scala asigna nombres a los valores:

  • val es un enlace inmutable; var es mutable
  • La inferencia de tipos determina el tipo a partir del valor
  • Puede añadir anotaciones explícitas como val x: Int
  • Los tipos principales incluyen Int, Long, Double, Boolean, Char y String
  • Prefiera val para obtener un código más seguro y claro

Preguntas frecuentes

¿La lección «val, var y tipos» es gratis?

Sí — el texto completo de «val, var y tipos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Scala for Backend Engineering & Functional Programming, actualiza a CoddyKit PRO. El curso de Scala for Backend Engineering & Functional Programming incluye 4 lecciones en total.

¿Qué aprenderé en «val, var y tipos»?

Bindings e inferencia Practicas Scala for Backend Engineering & Functional Programming con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Scala for Backend Engineering & Functional Programming?

No se requiere experiencia previa. Scala for Backend Engineering & Functional Programming en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «val, var y tipos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Scala for Backend Engineering & Functional Programming?

Sí. Cada lección de Scala for Backend Engineering & Functional Programming incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Uso del REPL
  2. val, var y tipos
  3. Expresiones frente a sentencias
  4. Interpolación de strings
← Volver a Scala for Backend Engineering & Functional Programming