Variables en Swift

Hoy vamos a ver que son las variables en Swift, como se declaran, para qué sirven y cómo utilizarlas.

Una variable en programación es el lugar donde podemos almacenar temporalmente información para utilizarla a lo largo de nuestro desarrollo. Digo de forma temporal porque una vez declarada una variable y asignado un valor, en el mejor de los casos, esta variable tendrá una vida tan larga como la tenga la instancia de nuestra aplicación.

Una vez nuestra aplicación se cierre y el sistema operativo finalice el proceso de la misma, la variable y el valor que contuviese desaparecerán.

Por tanto, una variable es un espacio en memoria donde podemos guardar información para recuperarla y utilizarla en diferentes sitios de nuestro desarrollo.

¿Cómo se declara una variable en Swift?

Swift, al igual que el resto de lenguajes de programación, tiene una forma concreta de declarar las variables. A continuación tenemos un ejemplo.

var name = “Antonio”

En esta línea de código estamos declarando una variable con un identificador o nombre “name”, y con un valor asignado de “Antonio”. Al ser de tipo String, el valor se debe de introducir entre comillas dobles. Sobre los tipos y su significado hablaremos en otro post.

Ahora solo tienes que entender que existen diferentes tipos de datos que se pueden almacenar en una variable, entre estos tipos de datos tenemos algunos como:

  • Strings, cadenas de textos, 
  • Int, números enteros, 
  • Double, números con decimales, 
  • Bool, este es un tipo que solo puede tener o un valor true o un valor false
  • Tipos personalizados, por ejemplo de tipo Persona, Coche

Pero como digo, todo esto lo veremos en otro post.

Otros ejemplo de declaración de variables serían:

var hello: String = "Hola"
var age: Int = 20
var isCorrect = true

Inferencia de tipos en Swift

En los últimos ejemplos hemos visto dos formas de declarar una variable:

  • Declarando el tipo del valor que va a guardar esta variable:
var hello: String = “Hola”
  • Dejando que el compilador infiera el tipo de ese valor: 
var isSame = true

Cuando se declara una variable es necesario definir que tipos de datos va almacenar esta variable, en Swift es obligatorio hacerlo y si no se define este tipo y tampoco se le asigna ningún valor a dicha variable, el compilador nos arrojará un error y no nos dejará compilar. 

Si no deseamos asignar el tipo de forma explícita, podemos hacer que el compilador lo infiera del valor que le asignamos a dicha variable. 

var carsNumbers = 2

Aquí, el compilador infiere, adivina, que nuestra variable es de tipo Int, porque le hemos asignado un número entero como valor. Lo de arriba es igual que poner:

var carsNumbers: Int = 2

En el primer caso el compilador infiere el tipo el solito y en el segundo se lo asignamos explícitamente. ¿Qué es mejor? Aquí cada maestrillo tiene su librillo, desde mi punto de vista el indicar el tipo hace que sea más fácil la lectura del código, si bien en ciertos tipos es bastante obvio y no sería necesario. Por ejemplo:

var name = “Antonio”

Queda bastante claro que esa variable es de tipo String, pero

var precio = 9.89

¿ Es de tipo Double, o de tipo Float? Aquí tendríamos que especificar el tipo de forma explícita para no cometer errores al no saber ciertamente el tipo que posee la variable.

Una variable solo puede guardar datos del tipo con el que se declara la primera vez, por lo tanto, si declaramos la variable como tipo String, esa variable únicamente podrá guardar valores de tipo String durante toda la vida de nuestro software.

Si intentamos asignar un tipo diferente al declarado, el compilador se quejará y no podremos seguir adelante.

Constantes y variables en Swift

Una variable puede “variar” su valor a lo largo del flujo de una aplicación, su tipo no, pero su valor sí. Podemos inicializar una variable tal que así:

var name = “”

Dentro de la variable name solo guardamos  una cadena vacía. Pero a lo largo del flujo de nuestra aplicación obtenemos el nombre de nuestro usuario y deseamos guardarlo en esta variable, para ello hacemos lo siguiente:

var name = “Antonio”

Ahora en la misma variable, está guardada la cadena “Antonio” , su valor a cambiado, pero su tipo continúa siendo String.

También existe una forma para hacer que una variable deje de ser variable y una vez que se le asigna un valor, este valor permanezca constante e inalterable. Para ello declaramos tal que así:

let name = “”

Y si ahora hacemos lo mismo que antes:

let name = “Antonio”

Veremos que el compilador nos dice que eso no es posible. 

Al declara la variable con la palabra reservada let, estamos diciendo que esta variable albergará un valor y este no podrá ser cambiado.

Debemos de asignar un tipo también, ya sea de forma explícita o implícita.

Recuperar el valor de una variable

Hasta ahora hemos visto cómo se crea una variable o una constante y se le asigna un valor determinado, pero, ¿cómo se accede a ese valor para utilizarlo en otro lugar de nuestro software?

Simplemente escribiendo el nombre de nuestra variable en donde lo queramos utilizar.

print(name)

Escribiendo esto: print() , estamos invocando a una función, ya hablaremos de las funciones en otro momento, que nos imprimirá por consola el valor de la variable que hemos puesto dentro de los paréntesis.

También podríamos asignar el valor de una variable en otra:

var name = "Antonio"
var newName = "Pedro"
print(newName) //imprimirá Pedro
var newName = name
print(newName) // imprimirá Antonio

¿Cómo se nombran las variables en Swift?

Podemos poner casi cualquier nombre a una variable para identificarla, pero debemos tener en cuenta unas cuantas excepciones:

  • Los nombres no pueden contener espacios en blanco:
    • var ni nombre = “Ana”
  • No pueden contener símbolos matemáticos, flechas,
  • No pueden ser cualquiera de las palabras que ya posee el propio lenguaje
  • No pueden empezar con un número:
    • var 2Coches = 2
  • Sí pueden contener números:
    • var cocheNum2 = 2

Todo el código lo tenéis en Github

Comparte si lo consideras interesante
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.