Ejemplos de kotlin
Aquí tienes varios ejemplos de código en Kotlin, un lenguaje de programación moderno y conciso que se ejecuta en la Máquina Virtual de Java (JVM) y es completamente interoperable con Java.
1. Hola Mundo
Este es el ejemplo más básico. La función println()
se usa para mostrar texto en la consola. A diferencia de Java, no necesitas una clase para una función main
.
fun main() {
println("¡Hola, mundo!")
}
2. Variables y Tipos de Datos
En Kotlin, las variables se declaran con val
para valores inmutables (solo lectura) y con var
para valores mutables. La inferencia de tipos te permite omitir el tipo de dato si es obvio.
fun main() {
val nombre = "Carlos" // Inmutable (val) - el tipo String es inferido
var edad = 30 // Mutable (var) - el tipo Int es inferido
edad = 31 // Esto es válido porque 'edad' es una variable mutable
println("Mi nombre es $nombre y tengo $edad años.")
}
val
: Equivale afinal
en Java, no se puede reasignar.var
: Se puede reasignar.$
: Permite insertar variables directamente en una cadena de texto.
3. Funciones
Las funciones en Kotlin son más concisas. Si una función solo tiene una expresión, puedes usar la sintaxis de "expresión única".
fun sumar(a: Int, b: Int): Int {
return a + b
}
// Versión más concisa con expresión única
fun restar(a: Int, b: Int) = a - b
fun main() {
val resultadoSuma = sumar(10, 5)
val resultadoResta = restar(10, 5)
println("La suma es: $resultadoSuma")
println("La resta es: $resultadoResta")
}
En el ejemplo de sumar
, : Int
especifica que la función devuelve un entero. En restar
, el tipo de retorno es inferido.
4. Clases y Programación Orientada a Objetos
Kotlin simplifica la definición de clases, especialmente para las que solo contienen datos.
// Clase de datos (data class) para un modelo simple
data class Persona(val nombre: String, val edad: Int)
fun main() {
val persona1 = Persona("Ana", 28)
// Los data classes automáticamente obtienen métodos como toString(), equals(), etc.
println(persona1) // Muestra "Persona(nombre=Ana, edad=28)"
// Acceso a las propiedades
println("Nombre: ${persona1.nombre}, Edad: ${persona1.edad}")
}
La data class
es una característica poderosa de Kotlin que reduce drásticamente la cantidad de código repetitivo.
5. Control de Nulos (Null Safety)
Kotlin se diseñó para eliminar los errores comunes de NullPointerException
(excepción de puntero nulo). Por defecto, las variables no pueden ser null
. Para permitir nulos, debes usar el signo de interrogación ?
.
fun main() {
var texto: String = "Hola"
// texto = null // ¡Esto causaría un error de compilación!
var textoNulo: String? = "Este puede ser nulo"
textoNulo = null // Esto es válido
// Para acceder a una variable que puede ser nula, debes usar operadores seguros
val longitud = textoNulo?.length // Si textoNulo es nulo, longitud será null
println(longitud) // Muestra "null"
}
El operador de llamada segura ?.
garantiza que el código solo se ejecutará si el objeto no es nulo, evitando la excepción.