tutorial español ejemplos compiler kotlin

kotlin - español - Cómo declarar varias propiedades en una sola línea



kotlin vs java (2)

Estoy desarrollando una clase con varias propiedades de lateinit de un tipo. Creo que es demasiado detallado declarar cada uno de ellos en una línea separada como esta:

lateinit var a: String lateinit var b: String

Así que me gustaría declararlos en una línea como esta:

lateinit var b, c: String // error: Property getter or setter expected

Pero me sale un Property getter or setter expected error Property getter or setter expected . ¿Hay alguna manera de declarar varias propiedades en una línea en Kotlin?


No, no hay manera de hacer eso. Declarar múltiples propiedades en la misma línea está mal visto en muchas guías de estilo de Java, por lo que no implementamos soporte para eso en Kotlin.


Viendo la gramática esto no es posible:

property (used by memberDeclaration, declaration, toplevelObject) : modifiers ("val" | "var") typeParameters? (type "." | annotations)? (multipleVariableDeclarations | variableDeclarationEntry) typeConstraints ("by" | "=" expression SEMI?)? (getter? setter? | setter? getter?) SEMI? ;

Solo puedes hacer declaraciones destructivas con:

val (name, age) = person