第一章 Kotlin:定义和目的
Kotlin是一种针对Java平台的新编程语言
1.1 Kotlin初体验
1.2 Kotlin的主要特征
1.2.1 目标平台:服务器端、Android及任何Java运行的地方
1.2.2 静态类型
Kotlin和Java一样是一种静态类型的编程语言,但与Java不同的是,Kotlin不需要在源代码中显式的声明每个变量类型。很多情况下,变量类型可以根据上下文自动推断。
1.2.3 函数式和面向对象
- 函数式编程的核心概念
1.1 头等函数:把函数当做值使用,可以用变量保存它,把它当做参数传递,或者函数的返回值 。
1.2 不可变性:使用不可变对象,保证了状态在创建后不再变化
1.3 无副作用:使用的是纯函数。 - 函数式编程的好处
1.1 简洁
1.2 多线程安全
1.3 方便测试 - Kotlin对函数式编程的支持
3.1 函数类型
3.2 lambda表达式
3.3 数据类
3.4 标准库中丰富的API集合 - 编写Koltin代码的时候,可以结合使用面向对象编程和函数式编程风格
1.2.4 免费并开源
开源地址:http://github.com/jetbrains/kotlin
1.3 Koltin应用
1.3.1 服务器端的Kotlin
1.3.2 Android上的Kotlin
1.4 Kotlin的设计哲学
1.4.1 务实
- Kotlin是一门设计出来解决现实世界问题的实用语言
- 不是一门研究性的语言
- 不强制使用某种特定的编程风格和范式
- 对于工具专注
1.4.2 简洁
- getter和setter等模板代码变为隐式的
- 丰富的标准库完成重复任务
- 支持lambda
- 没有把源代码压缩到最小可能的长度。
1.4.3 安全
- 代码安全和运行成本是矛盾的,不可能兼得。
- Kotlin保证类型安全
- 支持空安全
1.4.4 互操作性
- kotlin的类和方法可以像常规的Java类和方法一样被调用
- Kotlin在尽可能使用现有的Java库
- IDE对跨语言项目提供全面支持
1.5 使用Kotlin工具
1.5.1 编译Kotlin代码
*.kt
文件经过Kotlin编译器后生成.class文件,*.java文件经过Java编译器生成.class文件,然后class文件生成jar文件再生成应用- Kotlin编译器编译的代码运行时依赖Kotlin运行时库。它包括了Kotlin自己的标准库类的定义和对标准Java API的扩展。运行时库需要和应用程序一起分发。
1.5.2 IntelliJ IDEA和Android Studio插件
搜索安装即可
1.5.3 交互式shell
REPL形式,可以在IntelliJ IDEA的Kotlin菜单中选择启动。
1.5.4 Eclipse插件
1.5.5 在线playground
地址:https://play.kotlinlang.org
1.5.6 Java到Kotlin的转换器
在IntelliJ或者Android Studio中
- 复制Java代码到Kotlin文件中,代码会被自动转换成Kotlin代码
- 直接整个文件转换,选择Java文件,点击菜单里的Convert Java File to Kotlin File
1.6 小结
略