Primeros pasos con Kotlin
Hola Mundo
Todos los programas de Kotlin comienzan en la función principal
. Aquí hay un ejemplo de un programa simple de Kotlin “Hello World”:
package my.program
fun main(args: Array<String>) {
println("Hello, world!")
}
Coloque el código anterior en un archivo llamado Main.kt
(este nombre de archivo es completamente arbitrario)
Al apuntar a la JVM, la función se compilará como un método estático en una clase con un nombre derivado del nombre del archivo. En el ejemplo anterior, la clase principal a ejecutar sería my.program.MainKt
.
Para cambiar el nombre de la clase que contiene funciones de nivel superior para un archivo en particular, coloque la siguiente anotación en la parte superior del archivo sobre la declaración del paquete:
@file:JvmName("MyApp")
En este ejemplo, la clase principal a ejecutar ahora sería my.program.MyApp
.
Ver también:
- Funciones de nivel de paquete incluida la anotación
@JvmName
. - [Objetivos del sitio de uso de anotaciones] (https://kotlinlang.org/docs/reference/annotations.html#annotation-use-site-targets)
Hello World usando un Objeto Compañero
De forma similar al uso de una declaración de objeto, puede definir la función “principal” de un programa Kotlin mediante un [objeto complementario] (https://kotlinlang.org/docs/reference/object-declarations.html#companion-objects) de un clase.
package my.program
class App {
companion object {
@JvmStatic fun main(args: Array<String>) {
println("Hello World")
}
}
}
El nombre de la clase que ejecutará es el nombre de su clase, en este caso es my.program.App
.
La ventaja de este método sobre una función de nivel superior es que el nombre de la clase a ejecutar es más evidente, y cualquier otra función que agregue se incluye en la clase App
. Esto es similar al ejemplo de Declaración de objeto
, excepto que usted tiene el control de instanciar cualquier clase para hacer más trabajo.
Una ligera variación que crea una instancia de la clase para hacer el “hola” real:
class App {
companion object {
@JvmStatic fun main(args: Array<String>) {
App().run()
}
}
fun run() {
println("Hello World")
}
}
Ver también:
- Métodos estáticos incluida la anotación @JvmStatic
Hello World usando una declaración de objeto
Alternativamente, puede usar una [Declaración de objeto] (https://kotlinlang.org/docs/reference/object-declarations.html#object-declarations) que contiene la función principal para un programa Kotlin.
package my.program
object App {
@JvmStatic fun main(args: Array<String>) {
println("Hello World")
}
}
El nombre de la clase que ejecutará es el nombre de su objeto, en este caso es my.program.App
.
La ventaja de este método sobre una función de nivel superior es que el nombre de la clase a ejecutar es más evidente, y cualquier otra función que agregue se incluye en la clase App
. Luego, también tiene una instancia singleton de App
para almacenar el estado y hacer otro trabajo.
Ver también:
- Métodos estáticos incluida la anotación
@JvmStatic
Métodos principales usando varargs
Todos estos estilos de métodos principales también se pueden usar con varargs:
package my.program
fun main(vararg args: String) {
println("Hello, world!")
}
Compile y ejecute el código Kotlin en la línea de comandos
Como Java proporciona dos comandos diferentes para compilar y ejecutar código Java. Al igual que Kotlin, también le proporciona diferentes comandos.
javac
para compilar archivos java.
java
para ejecutar archivos java.
Igual que
kotlinc
para compilar archivos kotlin
kotlin
para ejecutar archivos kotlin.
Lectura de entrada desde la línea de comandos
Los argumentos pasados desde la consola se pueden recibir en el programa Kotlin y se pueden usar como entrada. Puede pasar N (1 2 3 y así sucesivamente) números de argumentos desde el símbolo del sistema.
Un ejemplo simple de un argumento de línea de comandos en Kotlin.
fun main(args: Array<String>) {
println("Enter Two number")
var (a, b) = readLine()!!.split(' ') // !! this operator use for NPE(NullPointerException).
println("Max number is : ${maxNum(a.toInt(), b.toInt())}")
}
fun maxNum(a: Int, b: Int): Int {
var max = if (a > b) {
println("The value of a is $a");
a
} else {
println("The value of b is $b")
b
}
return max;
}
Aquí, ingrese dos números desde la línea de comando para encontrar el número máximo. Producción :
Enter Two number
71 89 // Enter two number from command line
The value of b is 89
Max number is: 89
Para !! Operador Verifique Seguridad nula.
Nota: el ejemplo anterior se compila y ejecuta en Intellij.