Kotlin/Native 入门——在 IntelliJ IDEA 中

This tutorial demonstrates how to use IntelliJ IDEA for creating a Kotlin/Native application.

To get started, install the latest version of IntelliJ IDEA. The tutorial is applicable to both IntelliJ IDEA Community Edition and the Ultimate Edition.

Create a new Kotlin/Native project in IntelliJ IDEA

  1. In IntelliJ IDEA, select File | New | Project.
  2. In the panel on the left, select Kotlin Multiplatform.
  3. Enter a project name, select Native Application as the project template, and click Next.

    Create a native application

    By default, your project will use Gradle with Kotlin DSL as the build system.

    Kotlin/Native doesn't support Maven and IntelliJ IDEA native builder.

  4. Accept the default configuration on the next screen and click Finish. Your project will open.

    Configure a native application

    By default, the wizard creates the necessary main.kt file with code that prints "Hello, Kotlin/Native!" to the standard output.

  5. Open the build.gradle.kts file, the build script that contains the project settings. To create Kotlin/Native applications, you need the Kotlin Multiplatform Gradle plugin installed. Ensure that you use the latest version of the plugin:

    plugins {
        kotlin("multiplatform") version "1.6.21"
    }
    

Build and run the application

  1. Click Build Project next to the run configuration at the top of the screen:

    Build the application

  2. On the Terminal tab, run the following command:

    build/bin/native/debugExecutable/<your_app_name>.kexe
    

    IntelliJ IDEA prints "Hello, Kotlin/Native!".

You can configure IntelliJ IDEA to build your project automatically:

  1. Go to Settings/Preferences | Build, Execution, Deployment | Compiler.
  2. On the Compiler page, select Build project automatically.
  3. Apply the changes.

Now when you make changes in the class files or save the file (Ctrl + S/Cmd + S), IntelliJ IDEA automatically performs the incremental build of the project.

Update the application

Count the letters in your name

  1. Open the file main.kt in src/nativeMain/kotlin.

    The src directory contains the Kotlin source files and resources. The file main.kt includes sample code that prints "Hello, Kotlin/Native!" using the println() function.

  2. Add code to read the input. Use the readln() function to read the input value and assign it to the name variable:

    The readln() function is available since Kotlin 1.6.0.
    Ensure that you have installed the latest version of the Kotlin plugin.

    fun main() {
        // Read the input value.
        println("Hello, enter your name:")
        val name = readln()
    }
    
  3. Eliminate the whitespaces and count the letters:

    • Use the replace() function to remove the empty spaces in the name.
    • Use the scope function let to run the function within the object context.
    • Use a string template to insert your name length into the string by adding a dollar sign $ and enclosing it in curly braces – ${it.length}. it is the default name of a lambda parameter.
    fun main() {
        // Read the input value.
        println("Hello, enter your name:")
        val name = readln()
        // Count the letters in the name.
        name.replace(" ", "").let {
            println("Your name contains ${it.length} letters")
        }
    }
    
  4. Save the changes and run the build command:

    build/bin/native/debugExecutable/<your_app_name>.kexe
    
  5. Enter your name and enjoy the result:

    Application output

Count the unique letters in your name

  1. Open the file main.kt in src/nativeMain/kotlin.

  2. Declare the new extension function countDistinctCharacters() for String:

    • Convert the name to lowercase using the lowercase() function.
    • Convert the input string to a list of characters using the toList() function.
    • Select only the distinct characters in your name using the distinct() function.
    • Count the distinct characters using the count() function.
    fun String.countDistinctCharacters() = lowercase().toList().distinct().count()
    
  3. Use the countDistinctCharacters() function to count the unique letters in your name:

    fun String.countDistinctCharacters() = lowercase().toList().distinct().count()
    
    fun main() {
        // Read the input value.
        println("Hello, enter your name:")
        val name = readln()
        // Count the letters in the name.
        name.replace(" ", "").let {
            println("Your name contains ${it.length} letters")
            // Print the number of unique letters.
            println("Your name contains ${it.countDistinctCharacters()} unique letters")
        }
    }
    
  4. Save the changes and run the build command:

    build/bin/native/debugExecutable/<your_app_name>.kexe
    
  5. Enter your name and enjoy the result:

    Application output

下一步做什么?

Once you have created your first application, you can go to Kotlin hands-on labs and complete long-form tutorials on Kotlin/Native.

For Kotlin/Native, the following hands-on labs are currently available: