Kotlin的一些体会

写kotlin一段时间了,下面做一下和java区别的总结
0.习惯
不用加分号
三目判断被if取代了
switch被when替代了
与或不能用符号,要好好的写 and,or
没有静态变量了,用
public类声明改成open了
类中不能有字段

1.基础类型
声明:
var valueName
var valueName : Int ?= null
var valueName = 1
要点:
全局变量必须初始化
修饰符internal是根据提示似乎可以被当作private使用
inner不能用于修饰全局变量,可以用来修饰内部类
lateinit 延迟初始化
val和var是有区别的,区别在于val声明的变量只默认实现了getter

2.复杂类型
List
var lists : List = Arrays.asList(“联系”,”邮箱”,”地址”)

3.逻辑
when资料查询
e.g.
when (x) {//替代switch case的典型用法
1 -> print(“x == 1”)
2 -> print(“x == 2”)
else -> { // Note the block
print(“x is neither 1 nor 2”)
}
}
不太寻常的用法有点超乎想象
比如
case的条件为
in 1..10 -> { do some thing}
!in 10..20 -> { do some thing}
in arrays -> { do some thing}
is String -> { do some thing}//判断符合某类型
x.isOdd() -> { do some thing}// 私以为是某函数返回值为true

4.扩展方法
装饰者模式的建议替代,相当好用
比如你有一个类 SettingData,定义的时候没想好作什么,所以只定义了一个变量 setName
此时你在某个类中觉得可以用这个类但是要加个返回函数,怎么办呢?
fun SettingData.getName(){
print(“setName $setName”)
}
so easy~~

5.

发布了66 篇原创文章 · 获赞 5 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/yuemitengfeng/article/details/79256888
今日推荐