定义和目的
介绍
Kotlin是一种针对于java平台的一种新型语言,简介,安全,高效,并且专注于与java代码的互操作性,,几乎可以用在任何java平台的场景,例如服务端,安卓应用等等,还可以集成其他工具开发IOS和web应用
静态特性
kotlin和java一样是静态类型的编程语言,意味着所有表达式的类型再编译器就确定了,动态类型语言Groovy,Jruby 优点是减少代码量并增加创建数据结构的灵活性,缺点是不能再编译器发现编码的错误
和java不同的是,kotlin 会自动推导类型,不需要你显式的声明变量的类型
静态类型编码的优点
性能一一方法调用速度更快,因为不需要在运行时才来判断调用的是哪个方法
可靠性一一编译器验证了程序的正确性,因而运行时崩溃的概率更低。
可维护性一一陌生代码更容易维护,因为你可以看到代码中用到的对象的类型
工具支持一一静态类型使 IDE 能提供可靠的重构、精确的代码补全以及其他
特性
函数式和面向对象
核心概念
头等函数:把函数当作值来使用,可以用变量保存它,把它当作参数传递,或者做其他函数的返回值
不可变性:使用不可变对象,保证了它们的状态再其创建之后不能再改变
无副作用:使用的纯函数,此函数在输入相同的时候会产生相同的结果,并且不会修改其他对象的状态,也不会和外面交互
带来的好处
简洁,相比命令式风格代码更优雅
多线程安全;如果使用的是不可变数据和纯函数,就可以保证不安全的修改不会发生
应用
主要的领域是服务器端和安卓端开发
服务器的的kotlin
HTML生成库 可以轻松的把HTML标签和常规的kotlin语言结构组合起来
持久化框架:Exposed框架提供了易读的DSL,可以完全用SQL数据库的结构并执行查询操作
Android的Kotlin
应用可靠性:大部分java中会导致空指针的代码在kotlin中无法编译成功
兼容性好:完全兼容java6
简洁:有些重复的代码系统会隐式创建,例如getter setter互操作性;Kotlin 工具也对跨语言项目提供了全面支持。它可以编译任意混合的 JavaKotlin 源码,不管它们之间是怎样互相依赖的。 IDE 的特性也能跨语言工作,允许:自由地在 Java Kotlin 源码文件之间切换调试混合语言的项目,可以在不同语言编写的代码之中单步调试重构 Java 方法的时候, Kotlin 代码中的对它们的调用也会得到正确的更新,
构建过程