Kotlin习惯用法
2018-03-30 本文已影响0人
archer_qi
记录一些Kotlin广泛使用的语法习惯.
创建数据类:
data class User(val name : String,val age : Int)
编译器将自动从主构造函数中声明的所有属性中导出一下成员:
所有属性的getters(对于var定义的还有setters)
equals()
hashCode()
toString()
copy()
...等等,具体可翻阅Kotlin官方使用文档
单例
object Resource {
val name = "Name"
}
过滤list
val listFilter =list.filter{ fun () : boolean }
方法体中返回Boolean类型,依次取出list集合中属性(默认it表示),满足条件的返回
listFilter是一个List 泛型与list相同
遍历map
for((key,value) in map){
println("$k -> $v")
}
使用区间
for (i in 1..100) { …… } // 闭区间:包含 100
for (i in 1 until 100) { …… } // 半开区间:不包含 100
for (x in 2..10 step 2) { …… }
for (x in 10 downTo 1) { …… }
if (x in 1..10) { …… }
拓展函数(我觉得是个新鲜玩意)
fun String.spaceToCamelCase() { …… }
"Convert this to camelcase".spaceToCamelCase()
If not null 缩写
val files = File("Test").listFiles()
println(files?.size)
If not null and else 缩写
val files = File("Test").listFiles()
println(files?.size ?: "empty")