kotlin初识及环境搭建
Kotlin是JetBrains团队开发的一门现代的、注重工程实用性的静态类型编程语言。Kotlin于2010年推出,并在2011年开源。Kotlin充分借鉴并汲取了Java、Scala、Groovy、C#、Gosu、JavaScript、Swift等多门杰出语言的优秀特性,语法简单优雅、表现力丰富、抽象扩展方便、代码可重用性好,同时也支持面向对象和函数式编程的多范式编程。Kotlin可以编译成Java字节码运行在JVM平台(需要jdk,Software development kit)和Android平台,也可以编译成JavaScript运行在浏览器环境(从kotlin1.1版本开始正式支持JavaScript的所有语言特性),而且还可以直接编译成机器码的系统级程序,直接运行在嵌入式、iOS、MacOS/Linux/Windows等没有JVM环境的平台(Kotlin Native是一种将Kotlin源码编译成不需要任何VM支持的目标平台二进制数据的技术,编译后的二进制数据可以直接运行在目标平台上,它主要包含一个基于LLVM的后端编译器的和一个Kotlin本地运行时库。LLVM是Low Level Virtual Machine的缩写,是一种比较底层的虚拟机技术。 编译Kotlin Native项目,需要到Github上下载Kotlin Native的编译器软件包,寻找地址为:https://blog.jetbrains.com/kotlin/?s=Native)。
在现今天的程序语言中,基于JVM的语言非常多,如Scala,Groovy,JRuby等,而kotlin和这些语言一样,都只提供编译器,没有提供运行环境。本文介绍Kotlin 命令行环境搭建,而不涉及Kotlin IntelliJ IDEA环境搭建、Kotlin Eclipse 环境搭建、Kotlin Android 环境搭建。
Kotlin是Android官方语言,2017年的Google的IO大会上提出Kotlin成为Android APP开发语言。
Kotlin 程序文件以 .kt 结尾,如:test.kt 、app.kt。
现在看一个简单的例子
最简写法
package hello // 可选的包头
fun main(args: Array<String>) { // 包级可见的函数,接受一个字符串数组作为参数
println("Hello World!") // 分号可以省略
}
运行结果
Hello World!
面向对象写法
class Greeter(val name: String) {
fun greet() {
println("Hello, $name")
}
}
fun main(args: Array<String>) {
Greeter("World!").greet() // 创建一个对象不用 new 关键字
}
运行结果
Hello World!
Kotlin在线运行地址:
官方网站
官方网站 - 中文翻译
学习 Kotlin中文文档
http://www.kotlincn.net/docs/reference/
2019年8月22日发布Kotlin 1.3.50,下面以此版本介绍Kotlin 命令行环境搭建
注意,由于Kotlin在JVM上运行,因此必须安装JDK并配置其环境变量,关于Java JDK安装和配置,参见他文。
你可以选择一个最新的稳定版下载。将上面压缩文件解压到任意目录下,即可看到如下文件路径。
bin:该路径下存放了Kotlin SDK的各种工具命令,常用的kolinc、kotlin等命令就放在该路径下。
lib:该目录下包含了Kotlin的各种工具JAR包。
license:Kotlin项目相关的各种授权文档。
下载完成后,解压到指定目录,然后将 bin 目录添加到系统环境变量。bin 目录包含编译和运行 Kotlin 所需的脚本。
将(跟据你的实际情况)
D:\kotlin-compiler-1.3.50\kotlinc\bin
放入系统环境变量path
在win10配置系统环境变量
右键此电脑,属性,高级系统设置,系统属性,在“系统变量”中,找到PATH,添加,参见下图:
在命令行下输入kotlinc回车(按下Enter键)显示类似如下界面,说明配置成功:
此时,进入REPL(交互式解释器)状态,得到一个可交互的 shell,然后输入任何有效的 Kotlin 代码,并立即看到结果,参加下图:
输入:quit 回车(按下Enter键)退出交互状态:
下面介绍使用命令行编译Kotlin 程序
编写一个Kotlin 程序,名为test.kt,内容如下
fun main(args: Array<String>) {
println("Hello, World!")
}
保存在D:\ABC
用kotlinc 命令编译
kotlinc D:\ABC\test.kt -d D:\ABC\test
-d 用来设置编译输出的位置(目录)。
提示:请留意,编译后的文件名。用Kotlinc命令编译时,只需要指定存放目标文件的位置(目录),无需指定字节码文件的文件名,它会以原为文件名首字母大写并在尾部加上Kt,并以.class为扩展名。
用kotlin命令运行
kotlin -classpath D:\ABC TestKt
-classpath 用来指定运行文件的位置(目录)
参见下图:
Kotlin创建JavaScript程序,在浏览器中运行
下面介绍将Kotlin代码编译成Javascript 代码在浏览器环境运行。
编写一个Kotlin 程序,代码如下:
fun main(args: Array<String>) {
println("您好,JavaScript欢迎您的到来")
}
名为test2.kt,保存在D:\ABC
可以用kotlinc-js命令将Kotlin代码编译成Javascript代码——扩展名为.js的文件。
kotlinc-js D:\ABC\test2.kt -output D:\ABC\test2.js
-output 指定输出文件可以带路径。
对于转换后的JavaScript代码,不必深究里面的结构和语法,只需要明白一点,转换后的代码可供浏览器解析执行。
特别提示:test2.kt中使用了println函数,因此需要引入依赖库,即文件kotlin.js。具体来说,在Kotlin编译器(1.3.50版本)目录的lib文件夹下,有一个kotlin-stdlib-js文件,这个文件包含了JavaScript运行时需要的相关环境,使用解压工具将其解压,会发现目录中包含一个kotlin.js文件,将其复制到与编译得到的js文件同级的目录下。在我们的实验中就是将依赖库文件kotlin.js保存在D:\ABC中,参见下图
运行编译后的代码,需要可以通过 HTML 页面加载并在浏览器中运行,
创建一个名为 MyIndex.html 的文件,包含如下内容
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title> Output</title>
</head>
<body>
<script type="text/javascript" src="./kotlin.js"></script>
<script type="text/javascript" src="test2.js"></script>
</body>
</html>
保存在D:\ABC中
用Microsoft Edge浏览器打开是个空白页,按下F12键,将看到:
示例比较简单,是为了避免过于繁杂的细节分心干扰,例子虽简单,但基本过程涉及到了。有了这些基础,才能再深入学习。