Kotlin语法编写一个非诚勿扰相亲平台项目 - 自定义dsl入门

本文介绍了如何运用Kotlin的DSL特性来创建一个易于理解和使用的非诚勿扰相亲平台项目。通过DSL,可以使编程变得更加直观,使得普通程序员也能轻松处理业务逻辑。文中提到了两个关键文件:Gril.kt和舞台.kt。

有了dsl之后,任何人都可以是程序员,框架的设计师可以包装出来非常容易理解上手而零难度的框架,招进来一般程序员写小业务逻辑就能满足工作需求。

Gril.kt

data class Gril(var name:String ,var age:Int,var height:Int,var address:String)

var 非诚勿扰数据库 = listOf<Gril>(
    Gril("依儿",18,168,"山东"),
    Gril("笑笑",19,175,"河南"),
    Gril("小百合",17,155,"福建"),
    Gril("michel",22,148,"广东"),
    Gril("猫咪",28,159,"广西"),
    Gril("玲儿",23,169,"广东"),
    Gril("环环",25,172,"安徽"),
    Gril("胖嘟嘟",32,180,"河北"),
    Gril("乔乔",35,180,"广东"),
    Gril("小可爱",27,150,"江西"),
    Gril("一生有你",22,163,"山东"),
    Gril("敏儿",28,155,"黑龙江"),
    Gril("月儿",25,178,"吉林"),
    Gril("花儿",21,183,"山东"),
    Gril("s小糖",49,190,"新疆"),
    Gril("悦悦",19,160,"广西"),
    Gril("小可爱",29,158,"广东"),
    Gril("紫琪",49,149,"新疆"),
    Gril("糖心",26, 165, "甘肃"),
    Gril("棒棒糖",23, 172, "浙江"),
    Gril("猪猪侠",18, 173, "山东"),
    Gril("喵喵",27, 164, "河南"),
    Gril("安琦",19, 159, "河北"),
    Gril("叶子",20, 160, "广东")
)
//infix 中缀表达式
//扩展函数
infix fun List<Gril> .查找嫩妹子年龄小于(age:Int){
    filter {
        it.age<age
    }.forEach(::println)
}
infix fun List<Gril> .查找老妹子年龄大于(age:Int){
    filter {
        it.age>age
    }.forEach(::println)
}
infix fun List<Gril> .查找妹子来自(address: String){
    filter {
        it.address == address
    }.forEach(::println)
}

舞台.kt

fun main(args:Array<String>) {
//    非诚勿扰数据库.查找嫩妹子年龄小于(18)
    //用了中缀表达式后,可以用空格
    非诚勿扰数据库 查找嫩妹子年龄小于 20
    非诚勿扰数据库 查找老妹子年龄大于 48
    非诚勿扰数据库 查找妹子来自 "山东"
}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值