Este repositório contém exemplos de código Swift organizados de forma progressiva para iniciantes. Cada arquivo aborda conceitos fundamentais da linguagem.
- Conceitos:
let
(constantes) evar
(variáveis) - Explicação: Em Swift, use
let
para valores que não mudam evar
para valores que podem ser modificados. A linguagem infere automaticamente os tipos, mas você pode especificá-los explicitamente. - String interpolation: Use
\(variavel)
para inserir valores em strings
- Conceitos: Int, Double, Float, String, Character, Bool
- Explicação: Swift é uma linguagem fortemente tipada. Cada variável tem um tipo específico que determina que tipo de dados ela pode armazenar.
- Operações: Matemáticas básicas e manipulação de strings
- Conceitos:
if
,else if
,else
,switch
,guard
- Explicação:
if/else
: Para decisões simplesswitch
: Muito poderoso em Swift, suporta ranges e múltiplos valoresguard
: Para validação antecipada e saída de funções
- Conceitos:
for-in
,while
,repeat-while
,break
,continue
- Explicação:
for-in
: Itera sobre sequências (ranges, arrays)while
: Loop com condição no iníciorepeat-while
: Loop com condição no final (executa pelo menos uma vez)- Controle de fluxo com
break
econtinue
- Conceitos: Definição, parâmetros, retorno, valores padrão,
inout
- Explicação:
- Funções são blocos de código reutilizáveis
- Podem ter parâmetros nomeados externamente
inout
permite modificar parâmetros por referência- Suportam valores padrão e parâmetros variádicos
- Conceitos: Arrays, Sets, Dicionários
- Explicação:
- Arrays: Coleções ordenadas que permitem duplicatas
- Sets: Coleções não ordenadas sem duplicatas
- Dicionários: Coleções de pares chave-valor
- Métodos funcionais:
filter
,map
,reduce
- Conceitos:
?
,!
,nil
, optional binding, guard let, nil coalescing - Explicação:
- Optionals permitem que variáveis sejam nulas
?
declara um optional!
força o unwrapping (perigoso)if let
eguard let
são formas seguras de unwrapping??
fornece valor padrão quando nil
- Conceitos: Structs, Classes, Herança, Propriedades computadas
- Explicação:
- Structs: Tipos de valor (copiados quando atribuídos)
- Classes: Tipos de referência (compartilhados quando atribuídos)
- Classes suportam herança, structs não
- Propriedades computadas calculam valores dinamicamente
- Conceitos: Aplicação prática combinando todos os conceitos
- Explicação: Sistema completo de biblioteca que demonstra:
- Uso de structs e classes
- Arrays e manipulação de dados
- Optionals e tratamento de erros
- Funções e métodos
- Encapsulamento e organização de código
- Use SwiftFiddle
- Cole o código e execute
- Segurança de Tipos: Swift previne erros comuns através do sistema de tipos
- Optionals: Tratamento seguro de valores nulos
- Inferência de Tipos: Swift deduz tipos automaticamente
- Imutabilidade: Diferença entre
let
evar
- Programação Orientada a Objetos: Classes, structs, herança
- Programação Funcional:
map
,filter
,reduce
- Tratamento de Erros: Uso de optionals e guard statements
Após dominar esses conceitos, você pode estudar:
- Protocolos e Extensions
- Generics
- Error Handling com
do-try-catch
- Closures e programação funcional avançada
- SwiftUI para desenvolvimento de interfaces
- Combine para programação reativa
- Execute cada exemplo: Não apenas leia, execute o código
- Modifique os exemplos: Experimente mudanças para ver o que acontece
- Pratique regularmente: A prática leva à perfeição
- Use o Playground: Ótimo para experimentação rápida
- Leia a documentação oficial: Swift.org