kotlin函数式编程

函数式编程

1.前言

var a = subtract(multiply(add(1,2),3),4)
//还可以改写为链式调用 更为清晰高效
var a = add(1,2).multiply(3).subtract(4)

2.示例 高阶函数

//这里forEach接收的是一个函数
fun main(args:Array<String>){
    var name = listof("jaa","bill","lily")
    name.forEach(print)
    
    //还可以用更简洁的写法 闭包
    name.forEach{
        a ->print(a)
    }
    //更更简介的写法
    name.forEach{
        print{it}  //it是默认的参数
    }

} 
//返回值是一个unit
var print = fun (name:String):Unit{
    println(name)
}
var 非诚勿扰数据库 = listOf<Girl>(
Girl("伊尔",16,172),Girl("伊的",19,167)
Girl("伊分",26,147),Girl("说的",46,157))

fun main(arrys:ArrayList<Sring>){
    var 符合条件的 = ArrayList<Girl>()
    //一种低效的查找方式
    for(girl in 非诚勿扰数据库){
        if((girl.age<15)and(girl.height>160)){
            符合条件的.add(girl)
        }
    }
    //高效的高阶函数查找方式
    非诚勿扰数据库.maxBy{it.height}
    非诚勿扰数据库.minBy{it.height}
    
    非诚勿扰数据库.map{
        "${it.name}:${it.age}"
    }

}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容