2016-01-27 2 views
13

Я разрабатываю класс с несколькими lateinit свойствами одного типа. Я думаю, что это слишком многословным, чтобы объявить каждого из них на отдельной строке, как это:Как объявить несколько свойств в одной строке

lateinit var a: String 
lateinit var b: String 

, поэтому я хотел бы объявить их на одной линии, как это:

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

Но я получаю ошибку Property getter or setter expected. Есть ли способ объявить несколько свойств на одной линии в Котлине?

ответ

25

Нет, нет способа сделать это. Объявление нескольких свойств в одной строке недооценивается многими руководствами стиля Java, поэтому мы не реализовали поддержку этого в Kotlin.

+0

Есть ли шанс, что он будет реализован позже? – netimen

+1

У нас нет таких планов в настоящее время. – yole

5

Глядя на грамматике это не представляется возможным:

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

Вы можете только сделать заявление разрушающего с:

val (name, age) = person 
Смежные вопросы