Kotlin/Native 开发入门 - 使用 IntelliJ IDEA
本教程演示如何使用 IntelliJ IDEA 创建一个 Kotlin/Native 应用程序.
开始之前, 首先请安装 IntelliJ IDEA 的最新版. 本教程适用于 IntelliJ IDEA Community 版和 Ultimate 版.
开始前的准备工作
下载并安装最新版本的 IntelliJ IDEA 和 Kotlin plugin.
在 IntelliJ IDEA 中选择菜单 File | New | Project from Version Control, 克隆 项目模板.
打开
build.gradle.kts
文件, 这是构建脚本, 其中包含项目设置. 要创建 Kotlin/Native 应用程序, 你需要安装 Kotlin Multiplatform Gradle plugin. 请确认使用了 plugin 的最新版本:plugins { kotlin("multiplatform") version "2.0.21" }遵循下图中的建议, 重新载入 Gradle 文件:
构建并运行应用程序
打开 src/nativeMain/kotlin/
目录中的 Main.kt
文件, 然后按下侧栏中的绿色图标, 运行代码:
IntelliJ IDEA 会使用 Gradle 任务运行代码. 你会在 Run Tab 中看到运行结果:
初次运行之后, 你会在 IDE 的顶栏中看到对应的运行配置:
你可以 配置 IntelliJ IDEA, 让它自动构建你的项目:
打开菜单 Settings/Preferences | Build, Execution, Deployment | Compiler.
在 Compiler 页, 选择 Build project automatically.
保存变更.
现在, 当你在类文件中进行变更, 或者保存文件 (Ctrl + S/Cmd + S )时, IntelliJ IDEA 会自动对项目执行增量构建(Incremental Build).
更新应用程序
计算你的名字中的字母数量
打开
src/nativeMain/kotlin
中的Main.kt
文件.src
目录包含 Kotlin 源代码文件.Main.kt
文件包含代码, 使用println()
函数打印 "Hello, Kotlin/Native!".添加代码读取输入. 使用
readln()
函数 读取输入值, 并赋值给name
变量:fun main() { // 读取输入值. println("Hello, enter your name:") val name = readln() }要使用 Gradle 运行这个应用程序, 请在
build.gradle.kts
文件中指定System.in
作为运行项目时的输入, 并重新载入 Gradle:kotlin { // ... nativeTarget.apply { binaries { executable { entryPoint = "main" runTask?.standardInput = System.`in` } } } // ... }删除空白字符, 计算字母数量:
使用
replace()
函数 删除名字中的空白字符 .使用作用域函数(Scope Function)
let
在对象上下文之内运行函数.使用一个 字符串模板 来向一个字符串插入你的名字长度, 方法是添加一个
$
符号, 并将表达式放在大括号内 –${it.length}
.it
是 lambda 表达式参数 的默认名称.
fun main() { // 读取输入值. println("Hello, enter your name:") val name = readln() // 计算名字中的字母数量. name.replace(" ", "").let { println("Your name contains ${it.length} letters") } }运行应用程序.
输入你的名字, 查看结果:
计算你的名字中的不重复的字母数量
打开
src/nativeMain/kotlin
中的Main.kt
文件.为
String
声明新的 扩展函数countDistinctCharacters()
:使用
lowercase()
函数, 将名字转换为小写.使用
toList()
函数, 将输入的字符转换为一个字符列表.使用
distinct()
函数, 选择你的名字中的不重复的字符.使用
count()
函数, 计算不重复的字符.
fun String.countDistinctCharacters() = lowercase().toList().distinct().count()使用
countDistinctCharacters()
函数, 计算你的名字中不重复字符的数量:fun String.countDistinctCharacters() = lowercase().toList().distinct().count() fun main() { // 读取输入值. println("Hello, enter your name:") val name = readln() // 计算名字中的字母数量. name.replace(" ", "").let { println("Your name contains ${it.length} letters") // 打印不重复字符的数量. println("Your name contains ${it.countDistinctCharacters()} unique letters") } }运行应用程序.
输入你的名字, 查看结果:
下一步做什么?
创建过你的第一个应用程序之后, 你可以完成我们的 Kotlin/Native 长教程, 使用 C Interop 和 libcurl 创建应用程序, 这个教程将会演示如何创建一个 native HTTP 客户端, 以及如何与 C 代码库交互.