Fundamentos del lenguaje
27 pasos en 9 series de Swift.
Swift es la respuesta de Apple en 2014 a una pregunta que Objective-C cargó por treinta años: cómo se vería el lenguaje de la plataforma diseñado desde cero. La respuesta — tipos de valor primero, opcionales en vez de crashes por nil, protocolos sobre herencia, clausuras por todas partes — se volvió el lenguaje del desarrollo iOS y macOS, y luego creció una vida seria en servidores Linux y en los mundos de Vapor y AWS Lambda. Compila por LLVM a código nativo rápido y se lee más cerca de un lenguaje de scripting de lo que su rendimiento sugiere.
Este tour teclea el núcleo: let y var, interpolación, guard y el switch con patrones, rangos y stride, etiquetas de argumento, clausuras al final con $0, el trío map/filter/reduce, el kit completo de opcionales de ?? a guard let y el encadenamiento, las colecciones de tipo valor, structs contra clases, propiedades calculadas, protocolos con extensiones, enums con valores asociados, genéricos, y errores de throws a Result y defer. El Bis es el trío de scripts de siempre en Swift moderno — subíndices con default, patrones de rango y zip.
Valores
- La forma del programaEl Swift más pequeño: código de nivel superior, print, interpolación.
- let y varConstantes por defecto, mutación a pedido, tipos por inferencia.
- Interpolación de stringsBarra y paréntesis insertan valores; comillas triples abarcan líneas.
Control de flujo
- if y guardguard sale temprano y deja el camino feliz sin sangrar.
- Patrones en switchCoincidencia exhaustiva sobre rangos, wheres y tuplas.
- Rangos y bucles1...3 incluye el final, 0..<3 se detiene antes, stride da pasos.
Funciones y clausuras
- Etiquetas de argumentoLas llamadas se leen como prosa; el guion bajo renuncia.
- ClausurasLlaves al final y $0: la forma del Swift de todos los días.
- map, filter, reduceEl trío funcional, más compactMap para los fallos.
Opcionales
- OpcionalesEl valor tal-vez-ausente, deletreado en el tipo.
- if let y guard letDesenvolver por sombra: mismo nombre, no-opcional adentro.
- Encadenamiento opcionalUn solo ? corta todo el camino a nil.
Colecciones
- Arreglos y diccionariosColecciones de tipo valor con sintaxis literal.
- enumerated y zipCamina con índices, o camina dos secuencias al mismo paso.
- SetsDeduplicación más álgebra: union, intersection, subtracting.
Structs y clases
- Los structs son valoresAsignar copia; quien escribe dice mutating.
- Las clases son referenciasDos nombres, un objeto; === pregunta por identidad.
- Propiedades calculadasDerivadas al leer, observadas al escribir.
Abstracciones
- Protocolos y extensionesDeclara el requisito; comparte la implementación.
- Valores asociadosLos case de un enum cargan datos; el switch los desempaca.
- GenéricosParámetros de tipo en la llamada, acotados donde hace falta.
Errores y alcance
Bis
- word_freq.swiftUna tabla de frecuencias con split, subíndice con default y un orden.
- grade_report.swiftBoletines desde un roster de structs, patrones de rango y format.
- temp_stats.swiftUna semana de temperaturas: min/max por clausura, barras y zip.