并将其包裹在花括号中 —— ${it.length}。it 是 lambda 形参 的默认名称。
fun main() {
// 读取输入值。
println("Hello, enter your name:")
val name = readln()
// 计算名字中的字母数量。
name.replace(" ", "").let {
println("Your name contains ${it.length} letters")
}
}运行应用程序。
输入你的名字并查看结果:

现在让我们只计算名字中唯一的字母:
在
Main.kt文件中,为String声明新的扩展函数.countDistinctCharacters():- 使用
.lowercase()函数将名字转换为小写。 - 使用
toList()函数将输入字符串转换为字符列表。 - 使用
distinct()函数仅选择名字中不同的字符。 - 使用
count()函数计算不同字符的数量。
kotlinfun String.countDistinctCharacters() = lowercase().toList().distinct().count()- 使用
使用
.countDistinctCharacters()函数计算名字中唯一的字母:kotlinfun 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") } }运行应用程序。
输入你的名字并查看结果:

使用 Gradle
在本节中,你将学习如何使用 Gradle 手动创建 Kotlin/Native 应用程序。它是 Kotlin/Native 和 Kotlin Multiplatform 项目的默认构建系统,在 Java、Android 和其他生态系统中也常用。
在构建 Kotlin/Native 项目时,Kotlin Gradle 插件会下载以下构件:
- 主要的 Kotlin/Native 软件包,其中包含
konanc、cinterop和jsinterop等不同工具。默认情况下,Kotlin/Native 软件包作为一个简单的 Gradle 依赖项从 Maven Central 仓库下载。 konanc自身所需的依赖项,如llvm。它们使用自定义逻辑从 JetBrains CDN 下载。
你可以在 Gradle 构建脚本的 repositories {} 块中更改主要软件包下载的来源。
创建项目文件
首先,安装兼容版本的 Gradle。请查看兼容性表以检查 Kotlin Gradle 插件 (KGP) 与可用 Gradle 版本的兼容性。
创建一个空的项目目录。在其中创建一个包含以下内容的
build.gradle(.kts)文件:kotlin// build.gradle.kts import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget plugins { kotlin("multiplatform") version "2.3.0" } repositories { // 指定下载主要软件包的来源 // 默认使用 Maven Central mavenCentral() } kotlin { macosArm64() // 在 macOS 上 // linuxArm64() // 在 Linux 上 // mingwX64() // 在 Windows 上 targets.withType<KotlinNativeTarget>().configureEach { binaries { executable() } } } tasks.withType<Wrapper> { gradleVersion = "9.0.0" distributionType = Wrapper.DistributionType.BIN }groovy// build.gradle import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget plugins { id 'org.jetbrains.kotlin.multiplatform' version '2.3.0' } repositories { // 指定下载主要软件包的来源 // 默认使用 Maven Central mavenCentral() } kotlin { macosArm64() // 在 macOS 上 // linuxArm64() // 在 Linux 上 // mingwX64() // 在 Windows 上 targets.withType(KotlinNativeTarget).configureEach { binaries { executable() } } } wrapper { gradleVersion = '9.0.0' distributionType = 'BIN' }你可以使用不同的目标名称,例如
macosArm64、iosArm64、linuxArm64和mingwX64来定义编译代码的目标。目标名称用于在项目中生成源路径和任务名称。在项目目录中创建一个空的
settings.gradle(.kts)文件。创建
src/nativeMain/kotlin目录,并在其中放置一个包含以下内容的hello.kt文件:kotlinfun main() { println("Hello, Kotlin/Native!") }
按照约定,所有源代码都位于 src/<platform name>[Main|Test]/kotlin 目录中,其中 Main 用于源代码,Test 用于测试。在本例中,<platform name> 为 native。
构建并运行项目
从项目根目录,针对你的目标运行
<yourTargetName>Binaries构建命令,例如:bash./gradlew macosArm64Binaries此命令会创建
build/bin/<yourTargetName>目录,其中包含两个子目录:debugExecutable和releaseExecutable。它们包含相应的二进制文件。默认情况下,二进制文件的名称与项目目录名称相同。
要运行项目,请针对你的目标执行
build/bin/<yourTargetName>/debugExecutable/<project_name>.kexe命令,例如:bashbuild/bin/macosArm64/DebugExecutable/hello.kexe
终端打印出 "Hello, Kotlin/Native!"。
在 IDE 中打开项目
现在,你可以在任何支持 Gradle 的 IDE 中打开你的项目。如果你使用 IntelliJ IDEA:
- 选择 File | Open。
- 选择项目目录并点击 Open。 IntelliJ IDEA 会自动检测它是否为 Kotlin/Native 项目。
如果项目遇到问题,IntelliJ IDEA 会在 Build 选项卡中显示错误消息。
使用命令行编译器
在本节中,你将学习如何使用命令行工具中的 Kotlin 编译器创建 Kotlin/Native 应用程序。
下载并安装编译器
安装编译器:
转到 Kotlin 的 GitHub 发布页面,向下滚动到 Assets 部分。
寻找名称中包含
kotlin-native的文件,并下载适合你操作系统的版本,例如kotlin-native-prebuilt-linux-x86_64-2.3.0.tar.gz。将压缩包解压缩到你选择的目录中。
打开你的 shell 配置文件,将编译器的
/bin目录路径添加到PATH环境变量中:bashexport PATH="/<path to the compiler>/kotlin-native/bin:$PATH"
虽然编译器输出没有依赖项或虚拟机要求,但编译器本身需要 Java 1.8 或更高版本的运行时。它受 JDK 8 (JAVA SE 8) 或更高版本 支持。
创建程序
选择一个工作目录并创建一个名为 hello.kt 的文件。使用以下代码更新它:
fun main() {
println("Hello, Kotlin/Native!")
}从控制台编译代码
要编译应用程序,请使用下载的编译器执行以下命令:
kotlinc-native hello.kt -o hello-o 选项的值指定了输出文件的名称,因此此调用会在 macOS 和 Linux 上生成 hello.kexe 二进制文件(在 Windows 上为 hello.exe)。
有关可用选项的完整列表,请参阅 Kotlin 编译器选项。
运行程序
要在命令行工具中运行程序,请导航到包含二进制文件的目录并运行以下命令:
./hello.kexe./hello.exe应用程序将 "Hello, Kotlin/Native" 打印到标准输出。
下一步
- 完成使用 C 互操作和 libcurl 创建应用教程,该教程解释了如何创建原生 HTTP 客户端并与 C 库进行互操作。
- 了解如何为实际的 Kotlin/Native 项目编写 Gradle 构建脚本。
- 在文档中阅读更多关于 Gradle 构建系统的信息。
