由于一个Kotlin语法引起的bug,让我决定再次重新学习一遍Kotlin!!!
Kotlin以靠近俄罗斯圣彼得堡的一座岛屿命名,Kotlin的大部分开发团队就在那里。
Kotlin专注于与Java代码的互操作性,他几乎可以用在现在Java使用的的任何地方,可以很好的和所有现存的Java库和框架一起工作,并且性能水平和Java旗鼓相当。
其优点分为4部分:
务实
- 设计基于多年创建大型系统的工作经验,其特点也是未解决许多软件开发者遇到的场景而选择的。JetBrains内部和社区的开发者的反馈也融入了这门语言中。
简洁
- Kotlin致力于保证所写的代码都是具有实际意义的,而不是仅仅为了满足代码结构的需要。许多标准的Java样板代码,如setter、getter、构造在kotlin中都是隐式的,且并不会使代码变得混乱。
- Kotlin中有丰富的标准库,可以使用库方法代替冗长的代码段,再加上对lambda支持使其更加简洁。
安全
- 如,努力消除NullPointerException、避免ClassCastException等
互操作性
- 自由的在Java、Kotlin之间转换
- 调试混合语言项目
- 重构Java方法时,Kotlin代码中的对他们的调用也会得到正确的更新,反之亦然
以上是其4个有点,下面是2个特征:
静态类型
- Kolin和Java一样是静态类型的编程语言。这意味着所有表达式的类型在编译期已经确定了,而编译器就能验证对象是否包含了你想访问的方法或者字段。
- 与Java不同的是,Kotlin不需要在代码中显式的声明每个变量的类型,大多数情况下可根据上下文自动判断,如:val x= 1 ,由于变量初始化为整型,则自动判断其类型是Int。这种编译器通过上下文推断变量类型的能力称为类型推导。
函数式+面向对象
核心概念为:
- 头等函数——把函数当做值使用,可以用变量保存它,把它当做参数传递,或者当做其他函数的返回值。
- 不可变性——使用不可变对象,这保证了它们的状态在其创建之后不能在变化。
- 无副作用——使用的是纯函数。此类函数再输入相同时会产生同样的结果,并且不会修改其他对象的状态,也不会和外面的世界交互。
函数式的好处在于
1、简洁
2、多线程安全
3、测试更加容易
简介就写这么多吧