908c56d2ced0e607afdb36c0da4efde1
Kotlin Primer 第一章:启程

欢迎阅读本书!Kotlin 语言是一种新的静态类型编程语言,可运行于 JVM 环境同时也能用来开发 Android 应用。本章为学习和使用这一新兴的语言做准备,并讨论在一些常见开发环境中运行 Kotlin 程序的方法。

1.1 Kotlin语言介绍

Kotlin 是 JetBrains 在 2010 年推出的基于 JVM 的新编程语言。开发者称,设计它的目的是避免 Java 语言编程中的一些难题。比如:在 Kotlin 中类型系统控制了空指针引用,可以有效避免 Java 中常见的NullPointException。
作为一个跨平台的语言,Kotlin 可以工作于任何 Java 的工作环境:服务器端的应用,移动应用(Android版),桌面应用程序。

1.2 Kotlin的优势

相比于 Java,Kotlin 有着更好的语法结构,安全性和开发工具支持。
Kotlin 中没有基础类型,数组是定长的,泛型是安全的,即便运行时也是安全的。此外,该语言支持闭包,还可通过内联进行优化。不过,它不支持检查异常(Checked Exceptions),许多语言设计者认为这是它的瑕疵。不论如何,重要的是 Java 和 Kotlin 之间的互操作性:Kotlin 可以调用 Java,反之亦可。

1.3 准备工作

Intellij IDEA 是 JetBrains 提供的继承开发环境,可以用来开发 Kotlin 应用程序。
如果你是一名 Android 开发者,你也可以使用 Android Studio 来开发 Kotlin 程序。如你所知,Android Studio 其实就是 Intellij IDEA 的插件扩展,Intellij IDEA 是由 JetBrains 所开发,而 Kotlin 同样是由 JetBrains 创造的,其中的兼容性自然不用多说。
在安装好 Intellij IDEA 后,还需要安装 Kotlin 插件。
说明:从 Intellij 15 开始,已经自带了 Kotlin 插件,无需再次下载,而 Android Studio 却没有。不过还是建议你运行一下下面的步骤,检查一下插件是否为最新版。

首先启动你的 IDE,按下快捷键 Ctrl+, (Mac 下为 command+,) 打开Preference 界面。
点击左侧 Plugin 栏,打开插件界面。
点击 Browse repositories。

在弹出的窗口上方,搜索 "Kotlin",选中 Kotlin 和 Kotlin Extension For Android(1.1以后两个插件已经合并为一个)。
点击右侧的 Install。
安装完成后按钮会变成 Restart,再次点击重启 IDE。
刚刚安装的这两个插件分别为 Kotlin 语言支持包,和我们稍后会用到的Android 开发的扩展包。

一点小技巧:也许由于网络环境原因,会造成下载失败。可以根据弹出窗口中提示的(或直接在 JetBrains 插件市场搜索)下载链接,使用国内网盘的离线下载功能,下载到网盘后再从网盘下载到本地。

1.4 Hello Kotlin

1.4.1 第一个Kotlin程序

首先我们打开 Intellij 选中 Create a new project 选项后可以看到如下界面。
在 Additional Libraries and Frameworks 选项框中,如果你已经成功安装 Kotlin 插件,可以直接勾选 Kotlin(Java) 选项。
再点击下方的 Create 按钮,在弹出的 Create Kotlin Java Runtime Library 选项框中,我们选择 Use library from plugin 并确定。

点击 Next,填写工程名和路径,这里我们创建一个名为 Hello 的工程,并点击 Finish 完成创建。

首次创建工程需要等待一段时间,编译器这个时候正在帮助我们下载一些必要的依赖项。
工程构建完成后,右键工程目录的 src 图标,选择 New -> Kotlin File,这里我们新建一个名为 Hello 的 Kotlin 源码文件。

看一下左侧的工程目录,src 文件夹中存放的是源码,可以在这里新建包或类;Hello.iml 文件声明了一些项目所需的环境依赖,我们不用关心。
于是,终于可以开始激动人心的编码了。

Kotlin 程序非常简单,简单到只需要三行代码,相比起 Java 连包名都不是必须的。

fun main(args: Array<String>) {
    print("hello kotlin!")
}

按下 Ctrl+R 快捷键,或者右上角绿色三角形,运行写好的程序。

top Created with Sketch.