美文网首页
2.3.5 匿名函数

2.3.5 匿名函数

作者: AndYMJ | 来源:发表于2021-07-05 21:08 被阅读0次

    再来考虑下代码清单文件2-1的CountryTest类,这仍然算不上一种很好的方案。因为每增加一个需求,我们都需要在类中专门写一个新增的塞选方法。然而Shaw的需求很多都是临时性的,不需要被复用。Shaw觉得这样还是比较麻烦,他打算用匿名函数对程序做进一步的优化。

    Kotlin支持在缺省函数名的情况下,直接定义一个函数。所以isBigEuropeanCountry方法我们可以直接定义为:

    fun(country:Country):Boolean{

    return country.continient =="EU"&&country.population >10000

    }

    于是,Shaw直接调用filterCountries,如代码清单2-2所示。

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

    contryApp.filterCountries(countries,fun(country:Country):Boolean{

    return country.continient =="EU"&&country.population>100000

    })

    这一次我们甚至都不需要CountryTest这个类了,代码的简洁性又上了一层楼。Shaw开始意识到Kotlin这门语言的魅力,很快他发现还有一种语法可以让代码更简洁,这就是Lambda表达式。

    相关文章

      网友评论

          本文标题:2.3.5 匿名函数

          本文链接:https://www.haomeiwen.com/subject/mrwiultx.html