1.1Kotlin是什么
它是一种针对Java的编译语言,简洁、安全、务实,并且专注于与Java的互操作性
1.2Kotlin的主要特征
1.2.1目标平台:服务器端、Android及任何Java运行的地方甚至iOS
Kotlin的首要目标是提供一种更简洁、更高效、更安全的替代Java的语言,并且适用于现今使用Java的所有环境。常见的应用场景有:
- 编写服务端代码
- 创建Android应用
1.2.2静态类型
Kotlin和Java一样是一种静态类型的编程语言。与Java不同的是,Kotlin不需要在源代码中显式地声明每个变量的类型。在很多情况下,变量类型可以根据上下文来自动推断。例如val a =1
。Kotlin可以自动推断出它的类型是Int。
静态类型带来的好处:
- 性能--方法调用速度更快,因为不需要在运行时才判断调用的是哪个方法
- 可靠性--编译器验证了程序的正确性,因此运行时崩溃的概率更低
- 可维护性--陌生代码更容易维护
- 工具支持--静态类型使ide能提供可靠的重构、精确的代码补全等
1.2.3函数式
函数式编程的核心概念如下:
- 头更函数:把函数当做值使用,可以用变量保存它,把它作为参数传递,或者当做其他函数的返回值。
- 不可变性:使用不可变对象,这保证了它们的状态在其创建之后不能再变化
- 无副作用:使用的是纯函数,此类函数在输入相同时会产生同样的结果,并且不会修改其他对象的状态,也不会和外面的东西交互。
Kotlin支持的函数式编程风格包括:
- 函数类型,允许函数接受其他函数作为参数,或者返回其他函数
- lambda表达式,用最少的样板代码方便的传递代码块
- 数据类,提供了创建不可变值对象的简明语法
- 标准库中包括了丰富的api集合,以便用函数式编程风格操作对象和集合
1.3Kotlin的设计哲学
1.3.1务实
Kotlin是一门设计出来解决现实世界问题的实用语言
1.3.2简洁
在kotlin中,会努力地保证写出的代码都具有实际意义,而不仅仅为了满足代码结构的需要
1.3.3安全
Kotlin试图实现比Java更高的安全级别,例如:
- 内存安全,防止了缓冲区溢出以及其他错误的动态内存分配造成的问题
- 类型安全,不需要指定所有的类型声明,编译器会自动推断
- 空指针安全,Kotlin的类型系统跟踪那些可以或者不可以为null的值,并且禁止那些运行时可能导致空指针的操作
- ClassCastException安全,Kotlin会组合检查和转换的操作,一旦检查过类型,不需要额外的转换就能直接引用属于这个类型的成员。
1.3.4互操作性
Java可以和Kotlin混合编译,相互调用。
1.4编译和工具
1.4.1编译过程
1.4.2推荐工具
IntelliJ IDEA和Android Studio
下一章我将带你学习Kotlin基础