Otros Operadores en Kotlin

Clase 6 de 47Curso Básico de Kotlin 2019

Cuando usamos un operador en Kotlin él compilador lo traduce a una función específica. En la tabla que estás mirando te muestro la traducción que usa el compilador para ejecutar la operación.

Asignación

Captura de Pantalla 2019-04-08 a la(s) 4.51.43.png

Unarios, Incremento y Decremento

Captura de Pantalla 2019-04-08 a la(s) 4.52.15.png

Equidad

Captura de Pantalla 2019-04-08 a la(s) 4.52.24.png

Hagamos algunos ejemplos para entender cómo funcionan.

Los de asignación son sencillos de entender, basta con la explicación y el desglose que se proporciona en la tabla.

Los operadores unarios no harán más que seguir y tratar de aplicar la regla de los signos, en este caso puedes aplicar el operador o utilizar el método al cual Kotlin lo traduce. Algo así:

var a = -2 var b = a.unaryMinus() println("b: $b")

Esto imprimirá: b: 2

Lo que hace es convertir el dato a positivo, pues siguiendo la regla de los signos (-) por (-) es (+).

El operador de negación, funcionará con datos lógicos, este simplemente negará el dato establecido.

var a = true var b = a.not() println("b: $b")

El resultado será: b: false

Al utilizar datos lógicos, la función not() no será la única que podemos usar, tenemos otras opciones como se muestra en la figura: Captura de Pantalla 2019-04-08 a la(s) 12.02.13.png

El operador incremento y decremento. Este se dedicará a incrementar o decrementar el valor de la variable en 1. Aquí ocurrirán dos momentos en que se puede incrementar o decrementar la variable, estos se llamarán: Pre-Incrementar ++a o Post-Incrementar a++ y Pre-Decrementar --a y Post-Decrementar a--.

Cuéntame en la sección de discusiones cuál es la diferencia entre usar Pre o Post.

Los operadores de equidad se enfocarán en comparar si un dato es igual, o mayor, o mayor e igual que otro, etc. su resultado será un valor lógico. Estos pueden ser utilizados en los controladores de flujo como if, when, for, while etc.

val a = -12 val b = 12 println("a es mayor que b. ${a>b}")