NEW: Subscribe to Hacking with Swift+ and accelerate your learning! >>

Operadores

Los operadores son esos pequeños símbolos que aprendiste en tus primeras clases de matemáticas + para la adición (suma), - para la sustracción (resta), * para la multiplicación, / para la división, = para asignar un valor, entre otros. Todos estos juntos con otros más existen también en Swift.

Probemos los básicos - por favor, escribe esto en tu playground:

var a = 10
a = a + 1
a = a - 1
a = a * a

En el panel de resultados, verás 10, 11, 10 y 100 respectivamente. Ahora, prueba con esto:

var b = 10
b += 10
b -= 10

+= es el operador que significa "suma y asigna a". En nuestro caso de ejemplo significa "toma el valor actual de b, súmale 10 y asigna el resultado de nuevo a b". Como puedes imaginar -= hace lo mismo pero restando en vez de sumar. Entonces, el código muestra 10, 20, 10 en el panel de resultados.

Algunos de estos operadores también se pueden usar sobre otros tipos de datos. Como puedes imaginar, puedes sumar dos números decimales (Double):

var a = 1.1
var b = 2.2
var c = a + b

Cuando tratamos cadenas de caracteres (String), el operador + las concatena. Por ejemplo:

var name1 = "Tim McGraw"
var name2 = "Romeo"
var both = name1 + " and " + name2

Esto va a mostrar "Tim McGraw and Romeo" en el panel de resultados.

Otro operador muy común que verás es conocido como módulo y en Swift se indica con el símbolo %. Significa "divide el número de la izquierda de forma equitativa por el número de la derecha y devuelve el remanente". De esta forma, 9 % 3 devuelve 0 porque 3 divide de forma equitativa a 9, mientras que 10 % 3 devuelve 1, porque 10 dividido entre 3 devuelve el remanente 1.

Nota: Si has comprado Hacking with Swift y estás usando la exclusiva guía complementaria de este curso, verás qué útil te resultará este operador más adelante.

Operadores de comparación

Swift proporciona un conjunto de operadores con los que puedes realizar comparaciones de valores. Por ejemplo:

var a = 1.1
var b = 2.2
var c = a + b

c > 3
c >= 3
c > 4
c < 4

El código de arriba muestra el operador "mayor que" (>), "mayor igual que" (>=) y "menor que" (<). En el panel de resultados verás true, true, false, true - estos son Boolean porque el resultado de cada sentencia puede ser solamente true o false.

Si quieres verificar la igualdad, no puedes utilizar = porque este ya tiene un significado: se utiliza para asignar un valor a una variable. Entonces, Swift ofrece una alternativa == que significa "es igual a". Por ejemplo:

var name = "Tim McGraw"
name == "Tim McGraw"

Esto muestra true en el panel de resultados. Ahora, hay algo que puede pillarte y es que en Swift las cadenas de caracteres (String) se distinguen por el tipo de letra (case-sensitive: mayúsculas, minúsculas, etc), que quiere decir que "Tim McGraw", "TIM MCGRAW" y "TiM mCgRaW" se consideran distintas. Si utilizas == para comparar dos cadenas de caracteres, necesitas asegurarte de que son del mismo tipo de letra.

Existe un operador más que quiero mostrarte, se llama operador "not" indicado con el símbolo !. Sí, es solo un signo de exclamación. Esto, colocado delante de una sentencia, significa lo contrario de lo que indica esta. Por ejemplo:

var stayOutTooLate = true
stayOutTooLate
!stayOutTooLate

Esto va a mostrar en el panel de resultados true, true, false - el último valor aparece allí porque invierte el anterior true.

También puedes combinar ! con = para obtener != o "desigualdad". Por ejemplo:

var name = "Tim McGraw"
name == "Tim McGraw"
name != "Tim McGraw"
Hacking with Swift is sponsored by Instabug

SPONSORED Are you tired of wasting time debugging your Swift app? Instabug’s SDK is here to help you minimize debugging time by providing you with complete device details, network logs, and reproduction steps with every bug report. All data is attached automatically, and it only takes a line of code to setup. Start your free trial now and get 3 months off exclusively for the Hacking with Swift Community.

Start your free trial!

Sponsor Hacking with Swift and reach the world's largest Swift community!

BUY OUR BOOKS
Buy Pro Swift Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift (Vapor Edition) Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Server-Side Swift (Kitura Edition) Buy Beyond Code

Was this page useful? Let us know!

Link copied to your pasteboard.