Swift, Sentencia Switch (elegir entre varias opciones)

En este tutorial explicamos cómo usar la sentencia Switch en Swift. Esta sentencia ayuda a elegir una opción de entre varias, según un parámetro de entrada. Es como tener varios if, else if anidados.

La sentencia switch en Swift es muy similar a otros lenguajes de programación como Java. En kotlin no hay sentencia switch pero se reemplaza con una función when.

Swift switch

Resumen.

1.- Que es el switch.

2.- Sentencia Switch en Swift.

Así es la sintaxis en general

var letra = "a" 

switch letra {
	case "a":
		print( “La letra es la a” )
	case "b":
		print( “La letra es la b” )
        case "c":
		print( “La letra es la c” )        
	default:
		print( “Letra diferente a: a, b o c” )
}

3.- Switch opciones extra.

Algunas formas de incluir condiciones en el Switch.

var num = 11

switch num {
	case 0:
		print( “El valor es 0” )
	case11,12:
		print( “El valor es 11 o 12” )
        case 1...5:
		print( “El valor esta entre 1 y 5” )
        case 13..< 100:
		print( “El valor esta entre 13 y 99” )
        case let(x) where x< 0: 
                print( “El valor es menor que cero” ) 
	default:
		print( “El valor es mayor o igual que 100” )
}

1.- Que es la sentencia switch.

La sentencia switch se encarga de elegir una opción de entre varias, usando un parámetro de entrada.
Por ejemplo, si tenemos 4 botones y queremos que al presionar cada botón se efectué una acción diferente.

  • Si el usuario elige el botón 1, imprimimos “Uno”.
  • Cuando el usuario elige el botón 2, imprimimos “Dos”.
  • El usuario elige el botón 3, imprimimos “Tres”.
  • Si el usuario elige el botón 4, imprimimos “Cuatro”.
  • O bien si el usuario presiona cualquier otro botón, imprimimos “Elige otro botón”.

Eso lo podemos hacer con varias sentencias if(). Pero hay un comando especial para poder realizar ese tipo de tareas, y es el comando Switch.

Este comando se usa en el lenguaje Java y Swift, para Kotlin no existe esta sentencia.

2.- Sentencia switch en Swift.

La estructura de la sentencia switch en Swift es la siguiente:

var num = 2

switch num {
	case 1:
		print( “Uno” )
	case 2:
		print( “Dos” )
	case 3:
		print( “Tres” )
	case 4:
		print( “Cuatro” )
	default:
		print( “Escribe otro número” )
}

En el código anterior vemos la estructura de la sentencia Switch en Swift, es muy similar a la que se usa en Java. En caso de que la variable cumpla en dos o mas “case” entrará al que se encuentre primero.

  • Primero declaramos una variable llamada “num”.
  • La variable num, es el parámetro que decide que haremos.
  • El comando “case valor:” se encarga de comparar a “num” con su “valor”. El valor en el “case” debe de ser el mismo tipo de variable que la variable “num”.

Por ejemplo, si num es tipo String, el case debe de tener un tipo String.

Cuando la variable num sea igual a alguno de los “case” . Entrará en ese código y realizará lo que ahí tengamos, en este caso solo es imprimir el valor del número.

Si la variable num no es igual a ninguno de los “case”, entonces entrará al código default.
Lo anterior lo podemos hacer con varios if(), pero es más cómodo usar el Switch.

3.- Opciones extra para una función switch en Swift

Dentro del comando case podemos escribir un rango de números, simplemente usando tres puntos “…”.

Es posible colocar más de una opción en cada case separando con una coma el valor.

A continuación te mostramos un ejemplo:

var num = 11

switch num {
	case 0…10:
		print( “El valor se encuentra entre 0 y 10” )
	case11,12:
		print( “El valor es 11 o 12” )
        case ..< 0:
		print( “El valor es menor que cero” )
        case 13..< 100:
		print( “El valor esta entre 13 y 99” )
	default:
		print( “El valor es mayor o igual que 100” )

}

Para más tutoriales se Swift, ve a la sección de Swift.

4.- Comparaciones dentro de la función Switch.

Podemos hacer comparaciones dentro del Switch.

Si queremos que imprima cuando un valor es menor que cero, o bien cuando es mayor o igual que 10.

var num = -3

switch num {
	case let(x) where x< 0: 
                print( “El valor es menor que cero” ) 
        case let(x) where x>=10:
		print( “El valores mayor o igual que 10” )
	default:
		print( “El valor esta entre 0 y 9” )
}

Para más tutoriales de swift, puedes ir a la sección de Swift.