Lição: 6: Tipos de Dados e Inferência de Tipos
Em Swift, os tipos de dados desempenham um papel crucial na definição da natureza dos valores e como eles podem ser manipulados. Swift oferece um conjunto rico de tipos de dados embutidos, e entender esses tipos, junto com a inferência de tipos, é essencial para uma programação eficaz.
1. Tipos de Dados Básicos
Swift possui vários tipos de dados básicos que você usará com frequência:
- Inteiros: Usados para representar números inteiros.
- Números de ponto flutuante: Usados para números com casas decimais.
- Booleanos: Representa
true
oufalse
. - Strings: Usados para texto.
- Caracteres: Representa um único caractere.
1.1 Inteiros
Swift fornece dois tipos de inteiro com sinal (Int
e UInt
) que podem ser usados para representar números inteiros.
let idade: Int = 25
let populacao: UInt = 1_000_000 // O sublinhado melhora a legibilidade
print("Idade: \(idade), População: \(populacao)")
1.2 Números de ponto flutuante
Você pode usar os tipos Float
e Double
para valores decimais. Double
é um valor de 64 bits, enquanto Float
é um valor de 32 bits.
let pi: Double = 3.14159
let temperatura: Float = 36.6
print("Pi: \(pi), Temperatura: \(temperatura)")
1.3 Booleanos
O tipo Bool
pode conter apenas dois valores: true
ou false
.
let oSwiftEdivertido: Bool = true
print("Swift é divertido? \(oSwiftEdivertido)")
1.4 Strings e Caracteres
Strings são usadas para representar uma sequência de caracteres, enquanto os caracteres representam um único caractere.
let cumprimento: String = "Olá, Swift!"
let primeiroCaracter: Character = "H"
print(cumprimento)
print("Primeiro caractere: \(primeiroCaracter)")
2. Inferência de Tipos
Swift possui um recurso poderoso chamado inferência de tipos. Isso significa que o compilador Swift pode deduzir o tipo de uma variável com base no valor que lhe é atribuído, permitindo que você omita a declaração do tipo.
2.1 Exemplo de Inferência de Tipos
let mensagem = "Bem-vindo ao Swift!"
let pontuacao = 95 // Int
let pontuacaoMedia = 88.5 // Double
let passou = true // Bool
print(mensagem)
print("Pontuação: \(pontuacao), Pontuação Média: \(pontuacaoMedia), Aprovado: \(passou)")
No código acima, o compilador Swift infere automaticamente os tipos de pontuacao
, pontuacaoMedia
e passou
.
3. Segurança de Tipos
Swift é uma linguagem com segurança de tipos, o que significa que ela aplica verificações de tipos em tempo de compilação. Isso ajuda a detectar erros precocemente no ciclo de desenvolvimento.
3.1 Exemplo de Segurança de Tipos
let algumNumero: Int = 25
// let outroNumero: String = algumNumero // Esta linha causará um erro de compilação
print("Algum número: \(algumNumero)")
No exemplo acima, se você tentar atribuir um Int
a uma String
, ocorrerá um erro de compilação, protegendo você de erros de tipos indesejados.
4. Aliases de Tipo
Você pode criar um alias de tipo em Swift usando a palavra-chave typealias
. Isso pode ajudar a simplificar seu código, especialmente para tipos complexos.
4.1 Exemplo de Aliases de Tipo
typealias Distancia = Double
typealias Nome = String
let distanciaAteMarte: Distancia = 227.9e6 // em quilômetros
let nomeDoAstronauta: Nome = "Sally Ride"
print("Distância até Marte: \(distanciaAteMarte) km, Astronauta: \(nomeDoAstronauta)")
Conclusão
Entender os tipos de dados e a inferência de tipos em Swift é fundamental para escrever um código seguro e eficiente. Ao aproveitar o sistema de tipos do Swift, você pode evitar muitos erros comuns de programação e melhorar a legibilidade e manutenção do seu código. Na próxima aula, exploraremos as funções e como elas funcionam em Swift. Boa codificação!