Kotlin:三分钟提高你的kotlin代码优雅度
前言
2019 年 5 月 8 日,谷歌宣布,Kotlin 编程语言现在是 Android 应用程序开发人员的首选语言。
Kotlin语言对于Android开发人员的重要程度不言而喻。
然而在项目开发过程中,我仍然发现很多同事在使用kotlin开发过程中,受 “java后遗症” 荼毒太深,有些很适合使用kotlin语法糖或者特性的地方,都选择的比较保守的实现方式。
所以,当当当:
我自己截取了个人认为日常开发中最常用、易理解的几个kotlin场景,这些场景适合已经kotlin入门,但是又希望能够进一步优化自己kotlin代码的童鞋。对于一些众所周知的空安全属性等则没有进行描述。
文中代码含有改造前和改造后的代码,并且做了注释,方便大家对比。
希望能帮助到大家:
单表达式函数
当函数返回单个表达式时,可以省略花括号并且在 = 符号之后指定代码体即可:
//改造前
fun double(x: Int): Int {
return x * 2
}
//改造后
fun double(x: Int): Int = x * 2
使⽤作⽤域函数
作用域函数顾名思义,就是形成一个临时的作用域,在此作用域中,可以更方便地访问该对象。
作用域函数共五种: let 、run、with、apply以及also。
这些作用域函数在本质上都非常的相似,区别仅在于引用对象的方式和返回值。在此就不一一做介绍,只举apply的一个例子。
apply可以使对象作为接收者( this )来访问。并且返回值为对象本身。
//改造前
var rectangleB = Rectangle()
rectangleB.length = 4
rectangleB.breadth = 5
rectangleB.color = 0xFAFAFA
rectangleB.padding = 2
//改造后
var rectangleB = Rectangle().apply {
length = 4
breadth = 5
color = 0xFAFAFA
padding = 2
}
作用域函数可以让我们在对对象进行频繁操作的时候,优化掉代码中对对象的引用,使代码看起来更加简洁明了
集合构造函数
大家在开发过程中或多或少的都会集合,而kotlin提供了标准库函数可以让大家方便快速的创建集合
//改造前
val listA = ArrayList<String>()
listA.add("one")
listA.add("two")
listA.add("three")
listA.add("four")
//改造后
val listB = mutableListOf("one",