Kotlin教程:Kotlin入门
正如我在文章“ 什么是Kotlin? Java替代方案解释说 ,“ Kotlin是一种通用的,开源的,静态类型化的“实用”编程语言,结合了面向对象和功能性编程功能。 您可以使用Kotlin为Java虚拟机(JVM),Android,浏览器以及MacOS,Linux,Windows,iOS,WebAssembly和Android上的本机应用程序构建应用程序。 Kotlin由JetBrains创建..
正如我在文章“ 什么是Kotlin? Java替代方案解释说 ,“ Kotlin是一种通用的,开源的,静态类型化的“实用”编程语言,结合了面向对象和功能性编程功能。 您可以使用Kotlin为Java虚拟机(JVM),Android,浏览器以及MacOS,Linux,Windows,iOS,WebAssembly和Android上的本机应用程序构建应用程序。 Kotlin由JetBrains创建,并根据Apache 2许可发布到开源。
为什么要学习Kotlin? 简短的答案是,对于Java而言,Kotlin是比Java更好的语言。 Kotlin不太冗长,支持函数式编程的所有功能,消除了空指针引用的危险,简化了对空值的处理,并保持与Java和Android的100%互操作性。 所有这些都将使您比编写Java的程序员更加高效,即使您首先使用Kotlin在现有Java应用程序中构建新功能也是如此。
在线尝试Kotlin
您可以在线尝试Kotlin,而无需在计算机上安装任何东西。 在try.kotlinlang.org网站(如下所示)上,您可能首先通读并尝试了这些示例,并通过Kotlin Koans进行了研究,然后,如果您想要进行更多的增强,请尝试所有的《 Kotlin in Action》示例。 问题部分和Koans均提供单元测试,并要求您编写满足所有测试要求的答案。 前几节介绍了完成“问题”部分所需的知识。 Koans除包含问题说明和代码框架外,还包含指向相应Kotlin文档的链接。
要获得额外的荣誉,请加入“代码来临”,然后使用Try Kotlin网站的相应部分来为您的答案编码。 您可以使用现有的社交媒体凭据登录Kotlin和Advent of Code网站。
在您的机器上安装Kotlin
除了在线选项(对于学习比认真编码更有用)之外,官方的Kotlin语言站点还提供了四个使用Kotlin进行开发的本地选项,如下所示。 IntelliJ IDEA社区版(免费)和Ultimate(订阅)都随Kotlin插件一起提供。 Android Studio是专门用于Android开发的IntelliJ IDEA的免费子集,自3.0版起已安装Kotlin插件。 如有必要,可以将插件安装到旧版本中。
如果这是您的标准Java IDE,则可以将Kotlin插件添加到Eclipse(免费)。 我不建议新手使用Eclipse,因为它很难学习。 同时,我不建议经验丰富且满意的Eclipse用户切换到其他IDE。
命令行编译器 kotlinc可以通过多种不同方式安装,具体取决于您的系统。 如果您使用带有Kotlin插件的IntelliJ IDEA,Android Studio或Eclipse,则无需安装它。 如果要使用其他编辑器或与命令行Java构建工具(例如Gradle,Maven或Ant)集成,则需要安装它。 安装Kotlin编译器后,就可以使用它来构建与Java兼容的JAR文件,以用作库文件或可运行的应用程序。 您还可以将Kotlin编译器用作REPL交互式外壳。
还有许多其他流行的编辑器有用的Kotlin插件,包括Visual Studio Code和Sublime Text。 这些插件至少会突出显示语法。 还有一个Visual Studio Code的Kotlin代码完成(IntelliSense)插件。
Kotlin你好世界
您可以在Kotlin官方网站上找到有关IntelliJ IDEA,Eclipse和命令行编译器的入门教程 。 在下面的屏幕截图中,我提供了使用IntelliJ IDEA的Kotlin稍微完整的教程。 我使用了终极版; 如果您使用免费的Community Edition,那么您将不得不在几个地方使用命令行或其他程序来实现相同的目标。
首先打开IntelliJ IDEA并创建一个新项目。 在官方教程中,它们显示了从Java类别开始,然后选择Kotlin。 为简单起见,我建议您从Kotlin类别开始,然后选择Kotlin / JVM。 您稍后可能会想使用相同的代码尝试Kotlin / JS和Kotlin Multiplatform项目。
我将项目命名为HelloWorld并将其放置在外部驱动器上,用于存放Git存储库。 我接受了Java版本和Kotlin运行时的默认选择。
使用上下文菜单在src文件夹中添加一个新的Kotlin文件。
添加上面显示的代码。 生成main
功能框架的捷径是:键入“ main”,后跟<tab>。 在键入函数主体println(“Hello, World!”)
您会发现一些有用的println(“Hello, World!”)
。 需要注意的是,不像Java中,Kotlin语句不 ,如果他们之后是需要以一个分号结束<newline>
。
继续并使用Build菜单来构建HelloWorld项目。 如果有错误,请修复它们并重新构建项目。
使用上下文菜单或“运行”菜单运行HelloWorldKt。
可能会有警告,例如上面显示的警告,但是输出应为“ Hello,World!”。 和预期的一样,退出代码应为0。
现在您知道该程序可以工作了,为它创建一个存储库。 我是在IntelliJ IDEA中使用Git在本地完成的。
从Unversioned Files窗口中选择项目后,我从上下文菜单中将项目中的所有文件添加到Git。
然后,在创建描述性提交消息后,将更改提交到本地Git存储库。 尽管此特定的提交消息似乎是多余的,但您会发现准确,描述性的提交消息使理解代码存储库变得更加容易。
在这里,我在第2行设置了一个断点并调试了HelloWorldKt。 如果此时定义了更多变量,它们将显示在调试器中。
将Java转换为Kotlin
所有基于IntelliJ的IDE都使您可以轻松地将现有Java转换为Kotlin。 在在线环境中,您可以复制Java,打开“从Java转换”窗口,粘贴代码,然后按按钮转换为Kotlin。 然后选择并复制生成的Kotlin代码,关闭窗口,然后将Kotlin代码粘贴到目标位置。
IntelliJ IDEA和Android studio消除了使用弹出窗口的中间步骤。 只需复制Java并将其粘贴到Kotlin文件中,IDE就会自动将其转换。
Kotlin Koans和EduTools插件
Kotlin Koans是用于学习Kotlin语法的一系列编码练习。 有三种使用方式: 在线 , 使用EduTools插件在IDE中以及在克隆GitHub存储库后在IDE或编辑器中使用它们。
值得完成全部42项Koans。 还值得安装EduTools,以便您可以从Stepik或其他来源学习其他课程。
Koans和所有EduTools课程都将问题定义和代码框架与单元测试结合在一起,并要求您编写满足所有测试要求的答案。 如果需要,您可以稍后使用EduTools编写自己的课程。 除其他外,这是编写单元测试的好习惯。 目前,您是一名学习者。
安装EduTools并重新启动IDE后,可以通过选择“文件”>“浏览课程”来打开课程。
服务器JVM的Kotlin
Java的最普遍用途之一是用于应用程序和Web服务器 。 Kotlin非常适合这些场景,尤其是因为它允许在JVM上具有完全互操作性的增量迁移。 您确实不想在没有充分理由的情况下弄乱一百万行有效的Java代码,因此,无需更改任何现有代码就可以向Java应用程序中添加新的Kotlin模块,这一点很重要。
除了互操作性和增量迁移之外,Kotlin通过使用协程进行异步操作,还提供了比Java代码更高的可伸缩性。 从本质上讲,暂停协程的开销要比阻塞线程少得多,因为暂停和继续协程的机制是在编译器级别作为状态机实现的,无需上下文切换或操作系统进行任何其他干预。
现在有几个著名的框架使用Kotlin。 一个是Spring ,从版本5开始,它使用Kotlin为整个框架提供了空安全性,并提供了扩展,以在从Kotlin调用时大大简化某些API。
目前有数百种Kotlin服务器应用程序正在生产中。 其中一个是JetBrains自己的帐户应用程序,该程序处理许可证销售和验证过程,自2015年开始运行。另一个是Corda ,这是一家由主要银行支持的开源分布式分类帐。
Kotlin for JavaScript
Kotlin的第二个可能的编译目标(准确地说是编译目标)是JavaScript。 您可以在网页中使用生成JavaScript来操作DOM并与Web图形(例如WebGL)交互。 您还可以在服务器或台式机上的Node.js应用程序中使用转译JavaScript。
对Kotlin和React的特殊支持包括Kotlin React绑定和Create React Kotlin App 。 对于强类型,您可以使用ts2kt工具将TypeScript定义从“ 绝对类型”类型定义存储库转换为Kotlin。 对于弱类型,请使用动态类型 。
Android版Kotlin
Google和JetBrains正式在Android Studio和IntelliJ IDEA中支持Kotlin,并且现在已经在Kotlin中完全(Basecamp)或部分(Pinterest)编写了几个主要的Android应用。 Pinterest报告说,在采用Kotlin之后,它完全消除了空指针异常(NPE)。 另一个主要的应用程序Keepsafe最初是用Java编写的,然后完全转换为Kotlin,导致源代码行数量减少了30%,方法数量减少了10%。
为了在Kotlin中开发Android Dalvik虚拟机(DVM)应用程序,您基本上需要安装我提到的两个IDE之一,以及Android SDK。 要试用您的应用,您需要使用Android设备或某些Android模拟器。
Kotlin用于编译的本机应用程序
最后,您可以将Kotlin与LLVM编译器结合使用来创建本机应用程序,而无需依赖Windows,Linux,MacOS,iOS,WebAssembly和Android的虚拟机。 是的,没错,除了构建Kotlin DVM应用程序外,您还可以为Android构建编译的Kotlin本机应用程序。 是否要这样做是另一个问题,因为Android内置了DVM。
根据JetBrains的说法,“ Kotlin / Native的主要目的是允许在不需要或不可能使用虚拟机的平台(例如iOS或嵌入式目标)上编译,或者在开发人员愿意生成大小合理的自包含程序而无需使用虚拟机的情况下进行编译需要交付额外的执行运行时。”
Kotlin可以为当前在Java和Android项目上工作的开发人员提供巨大的好处,首先是彻底消除空指针异常,继续完全支持函数式编程,并允许您编写比Java更少的代码。 当编译为本机代码或转换为JavaScript时,Kotlin的效果也很好。
据我所知,与Java相比,Kotlin没有严重的缺点。 是什么让你退缩?
From: https://www.infoworld.com/article/3281125/kotlin-tutorial-get-started-with-kotlin.html
更多推荐
所有评论(0)