源码地址:https://github.com/cn-ljb/KotlinBlogs
这篇不聊具体的知识点,仅聊聊kotlin在开发中好的地方,以及博主自认为不好的地方。
优点
1、延迟加载(lazy)
初始化变量的时机被推迟到访问时,有了它真是方便了我们这些不注重内存效率的码农…
(lazy具体的实现在委托章节已经进行了详细讲解,不妨点进去看看它是怎么实现的)
//仅在被访问时,才会开辟10个元素大小的数组
val arr by lazy { Array(10, { i: Int -> i}) }
fun main(args: Array<String>) {
arr.map {
println(it)
}
}
仅当你调用数组arr时,该数组才会被初始化出来。
2、getter/setter
首先Kotlin中我们不需要想Java那样手动的添加getter、setter方法了,这些Kotlin已经为我们做好了
3、with()函数简化代码
/*
* 通过with语句,可以直接将对象传入,省掉对象的声明
* 使用场景:当对一个变量要进行多次使用,并返回与该变量相关的结果
* */
fun alphabet4(): String {
return with(StringBuilder()) {
append("START\n")
for (letter in 'A'..'Z') {
append(letter)
}
append("\nEND")
toString()
}
}
4、apply()函数简化代码
/**
*apply函数,在函数范围内,可以任意调用该对象的任意方法,并返回该对象
* 使用场景:初始化变量,并对该变量域有操作时
*/
fun alphabet5() = StringBuilder().apply {
append("START\n")
for (letter in 'A'..'Z') {
append(letter)
}
append("\nEND")
}.toString()