theworldsong
V2EX  ›  Android

关于 Kotlin : takeIf 用法的一些吐槽

  •  
  •   theworldsong · May 18, 2019 · 13151 views
    This topic created in 2644 days ago, the information mentioned may be changed or developed.

    takeIf { false }.let { }

    由于 takeIf 后面没带「?」,因此 let 一定会被执行。

    正确的写法是

    }?.let {

    既然这是个 if 语句,如果不加「?」就让执行 let,那这个 takeIf 还有什么意义???

    那为什么语法层面不报错呢???

    1 replies    2019-05-18 23:09:48 +08:00
    twoyuan
        1
    twoyuan  
       May 18, 2019
    因为 let 是一个单独的扩展函数,并没有指定它一定要和 takeIf 这样搭配使用。

    let 的接收者可以是 Nullable 的类型,所以也不是语法错误。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4869 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 03:57 · PVG 11:57 · LAX 20:57 · JFK 23:57
    ♥ Do have faith in what you're doing.