Como todo lenguaje de programación que se preste, existen varios tipos de operadores para usar en el código fuente los cuales permitirán realizar distintas operaciones aritméticas, lógicas, etc. Este artículo pretende ser una visión muy general de los operadores básicos en Swift, para en posteriores artículos hablar de casos concretos y aspectos más avanzados.
También empezaremos a ver las primeras diferencias de los mismos con los operadores que están presentes en el lenguaje C, por lo que si estáis familiarizados con C os va a resultar más sencillo.
Operadores básicos en Swift
Un operador es un símbolo (o frase) especial que podemos usar para comprobar valores, cambiarlos o combinarlos dentro del código fuente de nuestra aplicación. Por ejemplo, el operador suma (+) puede ser usado para sumar dos números enteros y el resultado almacenarlo en una variable x.
let x = 1 + 2
Como podéis apreciar, este ejemplo es muy trivial pero existen otros operadores más complejos como por ejemplo el operador lógico AND (&&) que puede ser usado para comparar dos variables booleanas y el operador incremental (++) que permite de forma rápida incrementar el valor de una variable en uno.
if (azul && redondo) // azul y redondo son dos variable de tipo booleano
++j //Incrementa el valor actual de la variable j en uno
El lenguaje Swift soporta la mayoría de operadores estándar de C y mejora varias capacidades que eliminan la mayoría de los errores comunes a la hora de codificar un programa. El operador asignación (=) no devuelve ningún valor, para prevenir usarlo como si fuera el operador igual (==) cosa muy común en programadores noveles.
Los operadores aritméticos (+, -, *, /, %) detectan y deshabilitan posibles valores de desbordamiento (overflow) para prevenir resultados inesperados cuando trabajamos con números más grandes o más pequeños de los permitidos por un determinado tipo de dato.
Arithmetic operators (+, -, *, /, % and so forth) detect and disallow value overflow, to avoid unexpected results when working with numbers that become larger or smaller than the allowed value range of the type that stores them. En posteriores artículos trataremos con más detalle los operadores de desbordamiento.
A diferencia de C, el lenguaje de programación Swift nos permitirá usar el operador resto (%) para realizar cálculos sobre números el punto flotante. Swift también nos proporciona dos operadores de rango (a..<b y a…b) que no se encuentran en el lenguaje C. Estos podremos usarlos para expresar un rango de valores.
Los operadores en Swift pueden ser de tres tipos:
- Operadores Unarios que operan con una única variable (como por ejemplo -x). Si estos operadores aparecen inmediatamente antes de la variable (!a) se denominan operadores de prefijo. Por el contrario si aparecen inmediatamente después de la variable (i ++) se denominan operadores de sufijo unarios.
- Operadores Binarios operan con dos variables (i + j) y se denominan operadores infijo porque aparecen entre medias de las mismas.
- Operadores Ternarios operan con tres variables. Al igual que ocurre en C, el lenguaje Swift tiene un solo operador ternario, el operador condicional ternario (pregunta ? respuesta1 : respuesta2). En el ejemplo, si pregunta es verdadero se usará respuesta1 y si no, se usará respuesta2. Esto es muy usado para simplificar los condicionales if que veremos más adelante.
Hasta aquí el artículo que nos introduce en el mundo de los operadores básicos en Swift. Como os he comentado, es un artículo básico y posteriormente veremos con más detalle aquellos operadores que incluyan funcionalidades o novedades respecto a los existentes en lenguajes como el primo hermano C. Espero que os haya parecido interesante y como siempre os digo, si tenéis alguna duda podéis contactar conmigo para que os pueda ayudar. Nos leemos en el próximo…
Adiós, os!