Kotlin 条件控制 when

when 可以当作一个表达式来使用,这意味着它可以返回一个值。当 when 作为表达式时,每个分支都必须产生相同类型的值。

当作语句使用

when 也可以作为一个简单的语句来使用,不返回任何值。这种情况下,每个分支可以是一个语句块。

检查多个条件

你可以通过逗号分隔多个条件来检查它们是否满足。

使用范围和 in 关键字

when 可以与 in 关键字一起使用,来检查变量是否在一个范围内。

使用 is 关键字进行类型检测

when 可以用于类型检测,并且可以自动转换为该类型。

-- -------------------- ---- -------
--- ------------- ----- ------ -
    ---- ----- -
        -- --- -- --- --------
        -- ---- -- -- -----
        -- ------ -- -- -------
        ---- -- ---------
    -

--------------------- -- -- --- --------

使用任意表达式作为条件

when 不仅可以基于变量的值进行判断,还可以基于任意表达式的值。

使用 lambda 表达式

在某些情况下,when 可以接收一个 lambda 表达式作为条件,这使得它可以执行更复杂的逻辑。

-- -------------------- ---- -------
--- - - -
---- --- -
    -- --- -- ------------- -- ---------
    -- ------ -- ------------- - --------
    ---- -- -
        ------------- --------- ------
        -- ------------
    -
-

使用多个条件合并

可以使用 else if 或者多个 when 分支来实现多条件合并。

总结

when 是 Kotlin 中非常强大和灵活的条件控制结构。它可以作为表达式或语句使用,可以检查变量的值、类型、范围,甚至可以执行复杂的逻辑。掌握 when 的用法对于写出简洁而高效的 Kotlin 代码至关重要。

纠错
反馈