typestar

Data classes en Kotlin

Una palabra clave compra equals, hashCode, toString, copy y desestructuración.

// A data class writes equals, hashCode, toString and copy for you.
data class TrailLeg(val from: String, val to: String, val km: Double)

fun main() {
    val morning = TrailLeg("Aspen Gate", "Windy Col", 8.4)
    println(morning)

    // copy changes only what you name; the original is untouched.
    val rerouted = morning.copy(km = 9.7)
    println(rerouted == morning)

    val (start, end, distance) = rerouted
    println("$start to $end is $distance km")
}

Cómo funciona

  1. data class TrailLeg se imprime legible sin código extra.
  2. copy(km = 9.7) clona con un campo cambiado; la igualdad es por valor.
  3. val (start, end, distance) = rerouted desempaca las propiedades en orden.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
437
Tokens
88
Ritmo de tres estrellas
70 tpm

Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 75 segundos.

Escribe este fragmento

Paso 1 de 3 en Clases y objetos; paso 13 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →