kotlin函数式编程

2019-06-21  本文已影响0人  克拉丶

函数式编程

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}"
    }

}
上一篇 下一篇

猜你喜欢

热点阅读