José Manuel Espinoza
3 min readJun 27, 2017

[KfS02]: Sintaxis Básica en Kotlin I. Java vs Kotlin Round #1.

Kotlin by JetBrains

Lo primero que necesitamos cuando estamos aprendiendo un nuevo lenguaje es familiarizarnos con su sintaxis básica, la documentación oficial de Kotlin es un excelente punto de partida en este aspecto, en este artículo los iremos comparando con su homologación en Java.

Paquetes:

Al igual que Java, la especificación de package debería estar al comienzo de cada archivo:

Packages

No obstante los amigos de JetBrains nos indican que en Kotlin no necesariamente deben coincidir los directorios y paquetes, lo que permite ubicar los archivos en cualquier lugar de nuestro sistema de archivos.

Variables

en Kotlin podemos definir variables que sea inmutables y mutables y es tan fácil como usar val y var respectivamente antes de definir la variable, y en su documentación nos mencionan centrarnos en usar variables inmutables cada vez que sea posible y aprovechar los beneficios de las mismas. En Kotlin al declarar una variable primero se especifica el nombre, seguido de dos puntos y el tipo. Tal como vimos en podemos ver en Swift o el superset de TypeScript.

Variables

Como podemos ver en la variable llamada number de tipo Int (la I mayúscula al principio es debido a que no se trata del mismo int primitivo de Java, sino una implementación de Kotlin, donde todo es un objeto). A pesar de que Kotlin es de tipado estatico, tambien puede inferir el tipo de dato al inicializar una variable sin necesidad de hacerlo de forma explicita.

Funciones

en Kotlin las funciones se definen con la palabra reservada fun seguida del nombre de la función, los parámetros y el tipo de datos que retorna dicha función.

Funciones

Este ejemplo nos servirá para abordar varias cosas del lenguaje como por ejemplo:

  • Al igual que JavaScript en Kotlin los semicolon (;) al final de la línea son opcionales.
  • Al final de la definición de la función se especifica tipo de dato de retorno. Aquí hay algo curioso en Java las funciones que no tienen retorno se usa void, en Kotlin no existe, en este caso se retorna el tipo Unit y en las convenciones de Código recomienda que cuando una función retorne Unit este se omita, ya veremos un ejemplo más adelante.
  • Finalmente el cuerpo de la función.
  • Otro detalle que podemos notar es el modificador de acceso. En la función en Java definimos que publica de forma explícita con el modificador public. En Kotlin las funciones son públicas por defecto por eso no se especifica (más adelante veremos sus excepciones).

En las funciones se puede omitir también el tipo de retorno al cambiar la función a su forma de expresión, donde el “=” es el equivalente a return. Siguiendo el ejemplo anterior podríamos redefinir la función de la siguiente forma.

Template String

Una de las excelentes características de Kotlin es el soporte de Template String, lo que nos permite interpolar variable dentro de Strings, misma características la podemos ver presente en ES6.

Template String

El Template String de Kotlin también nos deja evaluar expresiones, como podemos apreciar en la documentación oficial:

Template String con expresiones

En esta entrada hemos revisado varias características de la sintaxis básica de Kotlin, en el próximo seguiremos abordando otras características. Para finalizar dejo este pequeño “Hello World” para apreciar todo lo visto en un solo lugar.

Resultado en Kotlin
Resultado en Java

Saludos.