Variables en Swift

A la hora de crear un programa o aplicación informática necesitamos poder almacenar, manipular, comparar y actualizar información. Para todas estas operaciones los lenguajes de programación utilizan un elemento conocido como variable. Una variable es una porción de memoria donde el programa almacena un valor indicado por el programador.

Las variables poseen un nombre con el que identificarlas y un tipo. El tipo define qué clase de información podrá almacenar la variable. A modo de ejemplo, imaginemos que tenemos diversos productos: agua, zapatos y naranjas y tenemos varios tipos de contenedores: caja de cartón, bolsa de plástico y botella de cristal. Cada contenedor es idóneo para un tipo de elemento concreto y podría ser perjudicial si introdujésemos un elemento en un contenedor no apropiado como meter agua en la caja de cartón o en la bolsa de plástico con algún posible agujero.

Declarando variables en Swift

En Swift, al igual que otros muchos lenguajes de programación necesitamos declarar las variables que vamos a utilizar para que el sistema pueda preparar la memoria del ordenador para almacenar la información que va a contener la variable. La forma de declarar una variable en Swift es utilizando la palabra var. La sintaxis completa es:

var nombreDeVariable : tipo = valorInicial

Ese valor inicial es obligatorio a menos que hagamos que nuestra variable sea de tipo opcional pero los tipos opcionales implican un concepto un poco complejo que se explicará más adelante en otros artículos donde tratemos con clases, objetos e instancias.

El tipo de la variable indica qué clase de información va a almacenar dicha variable: texto, números decimales, números enteros, un botón de nuestra interfaz, el dato de un contacto de nuestra agenda o un tipo que hayamos creado nosotros mismos.

Los tipos básicos en Swift son los siguientes:

String
Cadena de texto
Int
Número entero
Float
Número decimal
Double
Número decimal con más de 6 decimales
Bool
Valor booleano que almacena verdadero o falso

En Swift podemos dejar que el propio lenguaje deduzca el tipo de la variable, es lo que se denomina inferencia. Esto lo podemos hacer al declarar la variable y asignarle un valor sin indicar su tipo.

var miNombre = "Fulano de tal"

Una vez definido el tipo de una variable no podemos cambiar su tipo posteriormente por lo que hay que tener esto en cuenta a la hora de manipular las variables para cambiar sus valores.

Constantes en Swift

Una constante en programación es una variable que una vez declarada con su valor dicho valor no cambia en ningún momento. Ejemplos como el valor del número PI, la aceleración de la gravedad en la Tierra o el número máximo del nivel de vida del personaje jugador del juego que estamos programando son ejemplos de constantes en Swift.

Para declarar una constante se utiliza la palabra let y la sintaxis es la misma que para una variable.

let nombreDeConstante : tipo = valorParaLaConstante

También podemos utilizar la inferencia a la hora de declarar una constante.

let aceleracionGravedad = 9.8

En Swift, como en otros muchos lenguajes de programación el símbolo de coma numérica se indica con el signo . (punto) esto tanto para Float como Double como otros posibles tipos de números decimales

Utilizando variables

Una vez hemos declarado la variable podemos operar con ella simplemente nombrándola y realizando operaciones con ella. Por ejemplo:

Cambiando su valor:


var miVariable = 3
miVariable = 5

Combinando matematicamente varias variables:


var num1 = 3
var num 2 = 5
var num 3 = num1 + num2

Modificando una variable a partir de su valor anterior


var num1 = 5
num1 = num1 + 100

Visualizando el valor de una variable

Ya vimos en el artículo de primeros pasos con Swift el comando print. Por ahora utilizaremos dicho comando para ir viendo los diferentes valores de las variables en nuestros ejemplos.

La función print() nos permite mostrar una cadena de texto por la consola de depuración de xCode. Su sintaxis es muy sencilla:

print(variableDeTextoParaMostrar)

Ahora sólo debemos conocer cómo poder incluir en una variable de texto el valor de otras variables. La forma es muy sencilla. Recordemos que para poder declarar una cadena de texto debemos encerrar el valor de texto de nuestra variable entre los símbolos de dobles comillas ("). por ejemplo:


var miTexto = "Esto es un texto de prueba"
print(miTexto)

Si en nuestro Playground escribiesemos el código anterior obtendríamos el siguiente resultado por la consola de depuración:

Esto es un texto de prueba

Para incluir el valor de una variable dentro de una cadena de texto debemos utilizar una secuencia de escape que permita a xCode conocer nuestra intención de insertar en una posición concreta de la cadena de texto el valor de una variable. Esa secuencia de escape consiste en escribir barra invertida seguida de abre paréntesis y cierra paréntesis (\()). Por ejemplo, veamos el siguiente código:


var numero = 33
var texto = "Diga \(numero)"
print(texto)

Ejercicio de manipulación de variables

Vamos a poner en prática los conocimientos aprendidos hasta ahora y vamos a escribir un código en nuestro Playground que realice las siguientes operaciones:

  • Declarar 3 constantes con 3 valores numéricos distintos
  • Declarar una variable numérica para almacenar el resultado de las distintas operaciones
  • Sumar las dos primeras constantes y mostrar el resultado por consola
  • Al resultado anterior restarle la tercera constante y mostrarlo por consola
  • Al resultado anterior multiplicarlo por 100

Es muy recomendable que antes de ver la solución propuesta intentéis crear vuestro propio código.

La solución propuesta es la siguiente:


let num1 : Int = 3
let num2 : Int = 5
let num3 : Int = 6
var resultado = 0

resultado = num1 + num2
print("Operación 1 = \(resultado)")
resultado = num1 + num2 - num3
print("Operación 2 = \(resultado)")
resultado = resultado * 100
print("Operación 3 = \(resultado)")

El resultado que saldrá por consola será:

Operación 1 = 8
Operación 2 = 2
Operación 3 = 200

Si os fijáis para las constantes si hemos indicado el tipo pero para la variable de resultado hemos utilizado la inferencia.

Conclusiones

En este artículo hemos visto:

  • Cómo hacen las aplicaciones para almacenar y manipular información
  • Los requisitos de tipo a la hora de manipular información con variables
  • Las diferencias entre variables y constantes
  • Realizar operaciones matemáticas y almacenar los resultados
  • Introducir el valor de una variable dentro de una cadena de texto
  • Usar la función print() para algo más que saludar

Es necesario familiarizarse con el uso de variables en Swift si queremos progresar en este lenguaje de programación por lo que es muy recomendable que hagáis vuestros propios experimentos y recordad que dentro de un Playground no se romperá nada en tu ordenador por lo que podéis hacer todas las pruebas que queráis.