Get started with Kotlin/Native using IntelliJ IDEA
最近更新 | 2020-08-20 |
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
- In IntelliJ IDEA, select File | New | Project.
- In the panel on the left, select Kotlin.
-
Enter a project name, select Native Application as the project template, and click Next.
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.
-
Accept the default configuration on the next screen and click Finish.
Your project will open. By default, the wizard creates the necessary main.kt
file with code that prints "Hello, Kotlin/Native!" to the standard output.
The build.gradle.kts
file contains the project settings. Read more about these settings in the Kotlin Multiplatform Gradle DSL reference.
Run the application
Start the application by clicking Run next to the run configuration at the top of the screen.
IntelliJ IDEA opens the Run tab and shows the output:
Update the application
Count the letters in your name
-
Open the file
main.kt
insrc/<your_app_name>Main/kotlin
.The
src
directory contains the Kotlin source files and resources. The filemain.kt
includes sample code that prints "Hello, Kotlin/Native!" using theprintln()
function. -
Add code to read the input. Use the
readLine()
function to read the input value and assign it to thename
variable.fun main() { // Read the input value. println("Hello, enter your name:") val name = readLine() }
- Eliminate the whitespaces and count the letters:
- Check that the provided name is not
null
with the safe call operator?.
. - 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 = readLine() // Count the letters in the name. name?.replace(" ", "")?.let { println("Your name contains ${it.length} letters") } }
- Check that the provided name is not
-
Report a null value using the
error()
function after the Elvis operator?:
.fun main() { // Read the input value. println("Hello, enter your name:") val name = readLine() // Count the letters in the name. name?.replace(" ", "")?.let { println("Your name contains ${it.length} letters") } ?: error("Error while reading input from the terminal: the value can't be null.") }
-
Save the changes and run the application.
IntelliJ IDEA opens the Run tab and shows the output.
-
Enter your name and enjoy the result:
Count the unique letters in your name
-
Open the file
main.kt
insrc/<your_app_name>Main/kotlin
. -
Declare the new extension function
countDistinctCharacters()
forString
:- Convert the name to lowercase using the
toLowerCase()
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() = toLowerCase().toList().distinct().count()
- Convert the name to lowercase using the
-
Use the
countDistinctCharacters()
function to count the unique letters in your name.fun String.countDistinctCharacters() = toLowerCase().toList().distinct().count() fun main() { // Read the input value. println("Hello, enter your name:") val name = readLine() // 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") } ?: error("Error while reading input from the terminal: the value can't be null.") }
-
Save the changes and run the application.
IntelliJ IDEA opens the Run tab and shows the output.
-
Enter your name and enjoy the result:
下一步是什么?
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:
- Learn about the concurrency model in Kotlin/Native shows you how to build a command-line application and work with states in a multi-threaded environment.
- Creating an HTTP Client in Kotlin/Native explains how to create a native HTTP client and interoperate with C libraries.