详尽的 Annotation和Kotlin编译器插件,用于强制when语句穷举。 enum class RouletteColor { Red , Black , Green } fun printColor ( color : RouletteColor ) { @Exhaustive when (color) { Red -> println ( " red " ) Black -> println ( " black " ) } } e: Example.kt:5: @Exhaustive when is not exhaustive! Missing branches: - RouletteColor.Green 不再需要分配给虚拟局部属性或引用无意义的函数或属性来强制when成为进行详尽性检查的表达式。 插件重用了与when表达式相同的检查。 除