Swift, al igual que otros Lenguajes de Programación, incorpora una serie de Operadores de Comparación que devuelven un valor Valor Booleano (true cuando se cumple la comparación y false cuando no se cumple la comparación). Estos Operadores son imprescindibles para el funcionamiento de las Funciones Condicionales y los Bucles.
x == y
5 == 5
5 == 7
También podemos aplicar los Operadores de Comparación a Variables y Constantes:
var numero1 = 5
var numero2 = 5
var numero3 = 7
numero1 == numero2
numero1 == numero3
print(numero1 == numero2)
print(numero1 == numero3)
También se pueden comparar otros Tipos de Datos como los String.
var alumno1 = "Pedro"
var alumno2 = "Antonio"
var alumno3 = "Pedro"
alumno1 == alumno2
alumno1 == alumno3
print(alumno1 == alumno2)
print(alumno1 == alumno3)
x != y
5 != 5
5 != 7
var numero1 = 5
var numero2 = 5
var numero3 = 7
numero1 != numero2
numero1 != numero3
print(numero1 != numero2)
print(numero1 != numero3)
x < y
5 < 7
7 < 5
var numero1 = 5
var numero2 = 7
numero1 < numero2
numero2 < numero1
print(numero1 < numero2)
print(numero2 < numero1)
x > y
5 > 7
7 > 5
var numero1 = 5
var numero2 = 7
numero1 > numero2
numero2 > numero1
print(numero1 > numero2)
print(numero2 > numero1)
x <= y
5 <= 5
5 <= 7
7 <= 5
var numero1 = 5
var numero2 = 5
var numero3 = 7
numero1 <= numero2
numero1 <= numero3
numero3 <= numero1
print(numero1 <= numero2)
print(numero1 <= numero3)
print(numero3 <= numero1)
x >= y
5 >= 5
5 >= 7
7 >= 5
var numero1 = 5
var numero2 = 5
var numero3 = 7
numero1 >= numero2
numero1 >= numero3
numero3 >= numero1
print(numero1 >= numero2)
print(numero1 >= numero3)
print(numero3 >= numero1)
Un aspecto importante a tener en cuenta es que sólo se pueden comparar valores del mismo Tipo, en caso contrario obtendremos el correspondiente mensaje de error.
Podríamos pensar que las comparaciones del tipo menor que, mayor que, etc. sólo son aplicables a valores numéricos, sin embargo también se pueden realizar con Strings, en cuyo caso se siguen las reglas del orden lexicográfico (el criterio que se sigue en la ordenación de los términos de un diccionario).
Como es fácil deducir, el uso de estos Operadores de Comparación no será como hemos visto en los ejemplos anteriores. Los utilizaremos como parte de otras instrucciones para poder tomar decisiones a la hora de programar Apps para iPhone y otros dispositivos Apple. Podemos ver algunos ejemplos de su funcionamiento con las Funciones Condicionales if/else.
var numero1 : Int = 45
var numero2 : Int = 50
if numero1 > numero2 {
print ("\(numero1) es mayor que \(numero2)")
}else{
print ("\(numero1) NO es mayor que \(numero2)")
}
var nombre1 : String = "Antonio"
var nombre2 : String = "Pedro"
if nombre1 != nombre2 {
print ("Los alumnos tienen distinto nombre")
}else{
print ("Los alumnos tienen igual nombre")
}
Podemos comparar Tuplas siempre que tengan igual número de componentes y que los Tipos de Datos coincidan.
Veamos el siguiente ejemplo:
var rgb : (Int, Int, Int) = (50, 117, 200)
var alumno : (String, Int, Int) = ("Antonio Ruiz", 17, 70)
La Tupla rgb no se puede comparar con la Tupla alumno, ya que no coinciden los Tipos de Datos, aunque si tienen igual número de componentes.
Los componentes de las Tuplas se comparan de uno en uno y de izquierda a derecha, obteniendo el valor true cuando se cumple la comparación para todos los componentes individualmente y obtendremos el valor false si la comparación de algunos de los componentes no se cumple.