疯狂Kotlin讲义连载之 命令行编译、运行Kotlin

今天介绍使用命令行环境编译、运行 Kotlin ,与其余编程语言相似, Kotlin 一样须要下载并安装对应的 SDK ,接下来便可使用该 SDK 提供的命令来编译、运行 Kotlin 程序。

下载、配置Kotlin的SDK

下载和安装 Kotlin SDK 请按以下步骤进行。

1)登https://github.com/JetBrains/kotlin/releases,看到Kotlin SDK的最新发布本,便可看到如图html

1.1 所示页面。本书成书之时, Kotlin SDK 的最新版本是 1.1.4-2 ,本书全部的案例也是基于该版本 SDK 的。


图1.1下载Kotlin SDK的页面java

2 )单击如图 1.1 所示页面的连接,便可下载获得一个 kotlin-compiler-1.1.4-2.zip压缩包文件。

3 )将上面压缩文件解压到任意目录下,便可看到以下文件路径。


 bin:该路径下存放了Kotlin SDK的各类工具命令,经常使用的kolinckotlin等命令就放在该路径下。git

 lib:该目录下包含了Kotlin的各类工具JAR包。程序员

 licenseKotlin项目相关的各类受权文档。github

在上面路径中, bin 路径是一个很是有用的路径,这个路径下包含了编译和运行 Kotlin 程序的 kotlinc kotlin 两个命令。除此以外,还包含了 kotlinc-jvm kotlinc-js 等工具命令。其中 kolinc
kotlinc-jvm 是同样的,都用于将 Kotlin 程序编译成适用于 JVM 的字节码文件,而 kotlin-js 则用于将 Kotlin 程序编译成 JavaScript 代码。

4 )将解压路径下的 bin 目录添加到系统的 PATH 环境变量中,这样便可保证操做系统能经过 PATH 环境变量找到 kotlinc kotlin等工具命令。

5 )将解压路径下 lib 子目录中 kotlin-stdlib.jar文件(该文件与kotlin-runtime.jar 文件相同,都表明了 Kotlin 的运行时环境库)添加到 CLASSPATH 环境变量中,这样便可保证运行 Kotlin 程序时能正常加载 Kotlin 的运行时环境库。

提示:本书假设读者已有最基本的 Java 编程基础,所以本书不会逐步介绍环境变量配置这些基础内容,若是读者须要学习环境变量配置这些基础知识,建议参考《 疯狂Java讲义 》一书。

第一个Kotlin程序

编辑 Kotlin
源代码可使用任何无格式的文本编辑器,在 Windows 上可以使用记事本( NotePad )、 EditPlus 等程序,在 Linux 平台上可以使用 VI 工具等。

提示:编写 Kotlin 程序不要使用写字板,更不可以使用 Word 等文档编辑器。由于写字板、 Word 等工具是有格式的编辑器,当使用它们编辑一份文档时,这个文档中会包含一些隐藏的格式化字符,这些隐藏字符会致使程序没法正常编译、运行。

在记事本中新建一个文本文件,并在该文件中输入以下代码:编程

程序清单:
codes\01\1.2\helloWorld.kt

fun main(args: Array<String>) {数组

println("Hello, World!")jvm

}编程语言

编辑上面的Kotlin文件时,注意程序中粗体字标识的单词,Kotlin程序严格区分大小写。将上面文本文件保存为helloWorld.kt,该文件就是Kotlin程序的源程序,Kotlin源程序的文件名要求以.kt结尾。编辑器

Kotlin程序与Java程序不一样,Kotlin支持函数式编程,所以Kotlin程序的程序入口只要一个main()函数做为入口,不须要将该main()函数放在任何类中。

提示:仔细看下上面的 main()函数,不难发现这个main 函数其实就是 Java 主类中的 main()方法的变体。只不过在Kotlin 语言中,函数也是一等公民,所以函数能够独立存在,而 Java 主类中 main() 方法必须放在类中声明。 Java 主类的 main ()方法须要声明一个String[] args 形参,而 Kotlin
mian()函数一样声明了args: Array<String> 形参 ——它们都是一个字符串数组类型的形参,这代表它们的本质是同样的,只是形式不一样而已。至于 Kotlin 主函数前面的 fun 关键字,它专门用于声明函数; Swift 语言还使用 func 关键字声明函数呢,其实没有什么特别的,习惯不一样而已。

编写好Kotlin程序的源代码后,接下来就应该编译该Kotlin源文件来生成字节码了。

编译、运行Kotlin程序

编译 Kotlin 程序须要使用 kotlinc kotlinc-jvm 命令(两个命令彻底同样),由于前面已经把 kotlinc
命令所在的路径添加到了系统的 PATH 环境变量中,所以如今可使用 kotlinc 命令来编译 Kotlin 程序了。

对于初学者而言,先掌握 kotlinc 命令的以下用法:

kotlinc -d destdir srcFile

在上面命令中, -d destdir kotlinc 命令的选项,用以指定编译生成的字节码文件的存放路径, destdir 只需是本地磁盘上的一个有效路径便可;而 srcFile Kotlinc 源文件所在的位置,这个位置既能够是绝对路径,也能够是相对路径。

一般,老是将生成的字节码文件放在当前路径下,当前路径能够用一点( . )来表示。在命令行窗口进入 helloWorld. kt文件所在路径,在该路径下输入以下命令:

kotlinc -d . helloWorld.kt

运行该命令后,在该路径下生成一个 HelloWorldKt.class 文件。

javac 编译器相似,使用 kotlinc编译文件只须要指定存放目标文件的位置便可,无须指定字节码文件的文件名。由于kotlinc 编译后生成的字节码文件有默认的文件名:若是 Kotlin 源程序中包含一个或多个函数, kotlinc 会额外生成一个生成文件,该生成文件的文件名是文件名首字母大写并添加 Kt 后缀,并以 .class 做为后缀名;若是 Kotlin 源程序中包含一个或多个类, kotlinc 则会为每一个类生成一个字节码文件,文件名以源文件所定义的各个类的类名做为主文件名的,以 .class 做为后缀名。

事实上,指定目标文件存放位置的 -d 选项也是可省略的,若是省略该选项,则意味着将生成的字节码文件放在当前路径下。

可能有读者会感受:这不就是《疯狂 Java 讲义》所介绍的内容吗? kotlinc 的用法与 javac 的用法何其类似啊?实际上这也是 Kotlin 设计者但愿实现的效果: Java 是一门如此深刻人心、影响深远的语言,拥有普遍的程序员基础,而 Kotlin 不只借助于 JVM 做为运行平台,并且保持和 Java 详细的编译、运行方式,这样 Kotlin 也更容易被广大程序员所接受。

运行 Kotlin 程序可以使用 kotlin java 命令(你没看错,能够用 java 命令),启动命令行窗口,进入
HelloWorldKt.class 所在的位置,在命令行输入以下命令。

java HelloWorldKt

运行上面命令,将看到以下输出:

Hello World!

这代表 Kotlin 程序运行成功

固然了, Kotlin 也专门提供了一个 kotlinm 命令来运行 Kotlin 程序,所以在命令行输入以下命令。

kotlin HelloWorldKt

运行上面命令,一样可看到以下输出:

Hello World!

以上内容节选自《疯狂Kotlin讲义》:一本让您最直接认识Kotlin的疯狂讲义



本书即将于2017年11月发售 敬请期待

往期连载:juejin.im/post/59c0b7…


相关书籍 疯狂Android讲义
相关文章
相关标签/搜索