Nuevo Kotlin User Group en Valencia y event "Estado de Machine Learning en Kotlin"
¡Se acaba de inaugurar el nuevo Kotlin Valencia User Group! Inicialmente organizado por Carlos Cáceres
Los desarrolladores de Android llevaban mucho tiempo esperándolo. Porque la herencia estándar de las vistas de Android requiere tener más de un constructor. A partir de la M11 es posible hace esto:
class MyView : View { constructor(context: Context, attrs: AttributeSet, defStyle: Int) : super(context, attrs, defStyle) { // ... } constructor(context: Context, attrs: AttributeSet) : this(context, attrs, 0) {} }
Esta característica está documentada en la documentación de usuario y en la especificación del lenguaje.
Otro cambio también relacionado con la construcción de objetos, es que a partir de ahora hay que añadir el keyword init en los bloques de inicialización de objetos.
Debido a que el lenguaje soporta una lambda después de una llamada, el compilador se podía confundir en determinados casos. Por ejemplo:
class Foo { val bar = baz() // Aquí se produce un ERROR { // inicializador pre-M11 } }
La nueva sintaxis es la siguiente:
class Foo { val bar = baz() init { // inicializador } }