在Typescript中,我可以将一组有限的字符串声明为类型:
declare type Status = 'GOOD' | 'MEDIUM' | 'POOR';
然后我可以使用这种类型来限制分配给status
属性的字符串:
interface Foo {
status: Status;
}
在科特林我该怎么做?
在Kotlin中,您将为此创建一个enum
enum class Status {
GOOD, MEDIUM, POOR
}
在这种基本情况下,可以使用enum
常数的name
,如下所示:
val state: Status = Status.MEDIUM
val stateString: String = state.name
如果你想拥有更复杂的枚举,你可以为它们提供自定义属性:
enum class Status(val description: String) {
GOOD("Good State"), MEDIUM("Medium State"), POOR("Poor State")
}