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