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
data class TrailLegse imprime legible sin código extra.copy(km = 9.7)clona con un campo cambiado; la igualdad es por valor.val (start, end, distance) = rerouteddesempaca las propiedades en orden.
Palabras clave y builtins usados aquí
DoubleStringclassdatafunval
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.
Paso 1 de 3 en Clases y objetos; paso 13 de 27 en Fundamentos del lenguaje.