如何在一行中声明多个属性
我正在开发一个类的几个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
。 有什么办法可以在Kotlin的一行中声明几个属性?
不,没有办法做到这一点。 在同一行上声明多个属性被许多Java风格指南所诟病,所以我们没有在Kotlin中实现对它的支持。
看这个语法是不可能的:
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