首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kotlin:05-控制流 if、when、for、while

一、if 表达式 在 Kotlin 中,if 既可以作为普通的判断语句使用,也可以作为表达式使用。 当 if 作为表达式使用时,本身就会有返回值,其效果等同于 java 中的三元运算。...二、When 表达式 (一)、主要特点: kotlin 中 ,When 的主要特点如下: When 类似于 java 中的 switch ,但是功能比 switch 更为强大。...中的 for 循环可以对任何提供迭代器(iterator)的对象进行遍历,等同于 java 中的 foreach 循环。...(三)、补充:forEach kotlin中遍历的时候,我们也可以使用 forEach ( ){ }, 需要注意的是: 使用 forEach 函数时, 被遍历到的数据 使用固定的字符 it 表示。...四、While 循环 Kotlin 中的 while 和 do...while 与java中的并没有区别,使用的方式是一致的。

1.4K10
您找到你想要的搜索结果了吗?
是的
没有找到

KotlinKotlin 委托 ( 使用 by 关键字进行接口委托 )

使用委托实现接口 III . 使用委托实现接口的基础上执行额外操作 IV . 测试上述三种接口实现 ( 普通实现 | 委托 | 委托 + 额外操作 ) I ....定义普通的接口 : 使用 interface 声明接口 , 接口中的方法没有方法体 , 也不用 abstract 关键字修饰 ; package entrust /** * 定义一个学习接口 , 代表有学习的能力...实现接口 : 使用 “:” 声明该类实现的接口 , 是接口的子类 , 注意类中必须实现接口的方法 , 实现方法需要使用 override 修饰 ; package entrust /** * 定义学生类...使用委托实现接口 ---- 使用委托实现接口 : 使用 : IStudy 声明该类实现了 IStudy 接口 , 但是这个类不实现 study() 抽象方法 , 而是委托给了 Student 类 , 当调用...使用委托实现接口的基础上执行额外操作 ---- 使用委托实现接口的基础上执行额外操作 : 当类实现接口 , 并将接口的操作委托给了另外的类 , 此时仍可以实现接口中的方法 , 在重写的方法中 , 可以调用委托方法

64030

使用Kotlin+SpringBoot进行web开发

Kotlin已经发布1.1.0版本了,玩过后已经被其先进的语法深深迷恋。这里不再陈述Kotlin的强大,只说明一下如何与SpringBoot进行集成开发。...业务开发 下面我们来进行简单的业务开发。 构造Model类 假设我们要维护一个客户信息,客户包含两个信息“firstName”和“lastName”。...否则Spring进行对象绑定会报错!!!...列表 总结 附源码地址: SpringBoot Kotlin Demo 好了,至此一个简单的Kotlin+SpringBoot Demo已开发完成,大家可以以此项目为基本雏形,进行更深入的业务扩展...总之,Kotlin带来的不仅仅是开发效率上的提高,其100% interoperable with Java™的原则弥补了Java很多的不足,绝对是一门值得学习并使用的新型语言。

1.7K30

优化案例:CASE WHEN进行 SQL 改写优化

想要优化一个SQL,一般来说就是先看执行计划,观察是否尽可能用到索引,同时要关注预计扫描的行数,以及是否产生了临时表(Using temporary) 或者 是否需要进行排序(Using filesort...还好,有个聪明伶俐的妹子,突发起想(事实上这位妹子本来就擅长做SQL优化的~),可以用 CASE WHEN 方法来改造下SQL,改成像下面这样的: select uid,sum(powerup+powerup1...) from ( select uid, case when concat(date,' ',hour) >='2017-03-24 13:00' then power else...'0' end as powerup, case when concat(date,' ',hour) < '2017-03-25 13:00' then power else '...and date <'2017-03-25' and aType in (1,6,9) ) a group by uid; 是不是很有才,直接把这个没办法用到索引的条件给用CASE WHEN

2K00

playbook中when使用

背景 在使用ansible编写playbook的过程中,我们发现在安装某服务时,例如部署fastdfs分布式存储时,有的机器需要启动tracker和storage两个服务,有的机器只需要启动一个服务即可...,它们需要的配置不同,我们要根据不同的机器来做不同的判断,来分发不同的配置文件,这时就会用到when来做判断了,并且我们还要使用jinja2的循环条件控制语句,还要在ansible的清单文件中设置好变量...: fdfs_dl.stat.exists == False become: true 我们在日常的部署中,这种使用方法能帮我们大大的提高playbook的执行效率 针对不同的主机来做判断,如果满足条件...,when执行的判断是当fdfs_role为tracker时,才去执行此任务,简而言之就是满足条件才会执行,这对我们非常有用,例如在部署mysql集群时,我们需要对数据库执行授权操作,当然,授权操作主库和从库都要进行...,但是进行主从关系授权时,则只需要在主库上进行即可,所以,我们需要做一个判断,类似与fastdfs的配置,如下: - name: Grant replication to slave hosts mysql_user

61230

Kotlin | 使用Kotlin改造Android Gradle

Gradle5.0+已经支持了Kotlin,但碍于Android Studio目前适配并不是很好,所以并不建议开发使用,至于为什么,在文章末尾也给出了具体原因。 为什么要使用Kotlin改造?...Gradle采用groovy采用开发语言,是一种动态的dsl语言,缺点就是写脚本时如果出现问题,我们无法实时的得知,只能通过print进行得知,而且无法跳转,并且不支持自动补全。...") id("kotlin-android-extensions") } android { compileSdkVersion(29) buildToolsVersion...:kotlin-gradle-plugin:$kotlinVersion") // NOTE: Do not place your application dependencies here...支持的并不是很好,所以如果你新建一个model,就会再次新创建gradle配置文件,这样你就得再次手动配置,很麻烦,所以目前Kotlin-Gradle尝鲜即可。

89320

Kotlin学习(三)——基本类型,包,控制流:if、when、for、while,Break和continue

,而我们一般的写法也和JAVA类似 同时,Kotlin上有一个下划线的定义,可以让代码的可读性更加的强,我们来看下 这段代码输出的数字 下划线并不像JAVA一样会影响我们的代码,而是让我们的代码可读性变得更强...这样的话里面就有很多空格了 我们可以|声明当前起始位,并且trimMargin()去除空格,得到的结果 如果你没有这样处理的话,你输出的值是这个样子的 二.包 包的作用我相信大家都是知道的 三.控制流:if、when...、for、while 1.if表达式 在kotlin中,if的用法不局限于判断,他还会有返回,所以我们的写法也很多,比如 2.When表达式 但是我们一般是需要else结尾的,而且我们可以用in来表达...当然,你还可以用is来判断类型,这里就不讲了 3.For 循环 4.While 循环 四.Break和continue Kotlin 有三种结构化跳转表达式: return。...:https://github.com/LiuGuiLinAndroid/Kotlin 同系列文章 一命二运三风水,四修阴德五读书!

1.1K100
领券