Basicos Swift 5

Jul 11, 2020

Swift promete ser repido, seguro y expresivo, aun que es un lenguaje de proposito general, es mejor conocido como el lenguaje moderno que debes aprender para desarrollar applicaciones en el ecosistemas de la familia-Manzana.

Aqu铆 mis notas 馃槣

  • Swift es un lenguaje de tipado-seguro
Resumen de type safety en ingles

Este es lo que la wiki nos dice del tipado “seguro”, en ingles :)

Let y Var

La forma de crear constantes, para asegurar la inmutabilidad en variables, se usa let.

Por el otro lado para tener variables mutables podemos usar var.

Tipado explicito y tipado inferido

tipado explicito en swift

Inferencia de tipos, de la documentacion en https://swift.org/

Swift nos permite dejarle el trabajo de inferir los tipos en nuestras declaraciones, o tambi茅n podemos expl铆citamente definirlas.

codigo ejemplo de tipado explicito

Opcionales

Esta funcionalidad en los lenguajes modernos es una ventaja para lidiar contra cosas nulas o indefinidas (undefined).

En el caso de swift podemos usarlas con un signo de interrogaci贸n, por ejemplo:

codigo ejemplo para decalrar variables opcionales

Listo tenemos nuestra variable opcional, constanteOcional es esta declarada como cadena expl铆citamente y como opcional al mismo tiempo.

Algunos operadores utiles

  • If con asignaci贸n en la misma linea
codigo ejemplo if con asignacion en la misma linea

La asignaci贸n a la constante ‘nuevaConstante’ sucede si, solo si, ‘constanteOpcional’ existe y es diferente de ‘nil’ (nulo).

  • El hermano menor de la t铆pica operaci贸n condicional ternaria, el popular y util: si-algo ? esto : si-no-esto

Swift tiene una version renovada del operador ternario, para las declaraciones opcionales:

ejemplo del operador ??

En la ultima linea se eval煤a la variable opcional ‘colorBase’, si ‘colorBase’ es nula se asigna ‘colorDefault’ de lo contrario se asigna ‘colorBase’. C贸mo se dar谩n cuenta este operador es muy practico.

extracto de la documentacion sobre nil coalesing

ss de la documentacion sobre nil coalesing

  • Guard - else
ejemplo del operador guard-else

Guar a diferencia de if siempre debe llevar un else, me parece muy ventajoso denter este contexto que se abre gracias al else.

Guard debe llevar un return o throw, guard body must not fall through, consider using a return or throw to exit the scope.