La Milestone 12 de Kotlin trae algunos cambios importantes y nuevas características

  • Nueva sintaxis para anotaciones y enumerados
  • Semánticas de tipos de función más convenientes
  • Mejores smart casts
  • Kapt para procesado de anotaciones de Java
  • Mejoras en los IDE
  • y más…

Nueva sintaxis de Anotaciones

Anteriormente la sintaxis para las anotaciones era similar a la de C# <code class="highlighter-rouge">[Foo(args)].

A partir de la M12 la sintaxis de las anotaciones es como en Java <code class="highlighter-rouge">@Foo(args), lo que agradecerán los programadores acostumbrados a dicho lenguaje.

En la M12, la @ es opcional en la mayor parte de los casos y se puede poner directamente <code class="highlighter-rouge">Foo. Actualización: está previsto que la @ sea obligatoria en todos los casos en las próximas versiones debido a que dificulta el tooling y complica el parseo del código fuente.

Nueva sintaxis para etiquetas

Previamente a la M12 las etiquetas se ponía con @loop, pero ahora que las anotaciones tienen una nueva sintaxis, ha tocado cambiar su sintaxis. Ahora las etiquetas se ponen con loop@ y se usa con break@loop o continue@loop.

loop@ for (i in 1..100) { for (j in 1..100) { if (...) break@loop