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