携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
前言
"A modern programming language that makes developers happier." 【一门让开发者更开心的现代化编程语言。】
以上这句标语是进入Kotlin官网,就会引入眼帘的标语。可见它的开创者对其评价是非常高的。从现在开始就进入Kotlin编程世界!
文章总览
1.认识Kotlin
2019年Google I/O大会上,Kotlin被确认为Android应用开发的首选语言。其实早在2017年 Google I/O大会上,Google就宣布在Android上对Kotlin提供一流的支持,随后Android Studio 3.0版本开始就支持通过安装Kotlin插件来满足使用Kotlin替代java开发应用,并且与Java语言百分百兼容,和互操作。
Kotlin是由JetBrains推出的一种高效的现代编程语言。具有清晰和简洁的语法,使代码易于阅读和编写。与Java一样,Kotlin程序最终编译成java字节码,基于JVM运行。
随着Kotlin在全球的广泛使用,它的受欢迎程度也在不断增长。使用Kotlin不仅仅可以开发移动端应用,还可以用于服务器端,桌面应用程序,和一些常用库和框架等。
2.Kotlin特性
首先来看一下官网说明,为什么要用Kotlin?
从五个方面都给出了示例程序,恰好也概括出Kotlin的几个主要特性。
2.1Concise[简洁]
data class Employee(
val name: String,
val email: String,
val company: String
) // + automatically generated equals(), hashCode(), toString(), and copy()
定义一个数据类,不需要再写get()/set()一大堆冗余代码。
2.2Safe[安全]
fun reply(condition: Boolean): String? = // Nullability is part of Kotlin’s type system
if (condition) "I'm fine" else null
String?表示返回值可以为Null,这样会避免很多Java程序中的NullpointException
2.3Expressive[丰富的表现形式]
val map = mapOf(1 to "one", 2 to "two")
for ((k, v) in map) { // Traverse a map or a list of pairs
println("$k -> $v")
}
fun obtainKnowledge() = Pair("The Answer", 42) // Single-expression functions
2.4Interoperable[互操作]
Use any existing library on the JVM, as there’s 100% compatibility, including SAM support.【对于JVM已经存在的库都是100%兼容的】
import io.reactivex.Flowable
import io.reactivex.schedulers.Schedulers
Flowable.fromCallable {
Thread.sleep(1000)}
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.single())
.subscribe(::println, Throwable::printStackTrace)
2.5Multiplatform[多平台]
- JVM: Kotlin 与 Java 完全可互操作,说明 Kotlin 可以 Java 代码同时出现在项目代码。还允许从 Java 迁移到 Kotlin。
- Android: 使用 Kotlin,可以开发移动应用程序。
- JS: Kotlin 还与 JavaScript 兼容,能够开发客户端 Web 应用程序并在浏览器中运行。
- Native: 可以将 Kotlin 代码编译为在 Windows、Linux、iOS 和 macOS 等任何操作系统上运行的文件。
3.Kotlin编辑器推荐
Kotlin是 JetBrains 推出,那毫无疑问 code编辑器 首推 Intellij IDEA,肯定是对Kotlin支持最全和流畅的工具。 当前最新版本的IDEA 都默认支持Kotlin开发,不用另外安装Kotlin 插件。
这里说一下,Android开发的童鞋,可以直接问使用Android Studio 来练习Kotlin 项目,步骤与练习 Java项目类似,只不过创建时选用Kotlin语言即可。
4.示例:HelloWorld
package com.chen.learnkotlin // 1 包名
fun main() { // 2 main函数:程序的主入口
println("Hello, World!") // 3 打印语句
}
运行程序结果:Hello, World!
通过示例程序,可以对比Java版 HelloWorld,函数声明的方式,标准打印语句都非常简洁,这就是Kotlin对于Java的极大优势!
参考资料
让我们在掘金(JUEJIN)一起进步,一起成长!