Skip to content

Instantly share code, notes, and snippets.

@mateuspestana
Created July 6, 2022 19:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mateuspestana/f96b82d7ac11d94d6f77adcaae85dca0 to your computer and use it in GitHub Desktop.
Save mateuspestana/f96b82d7ac11d94d6f77adcaae85dca0 to your computer and use it in GitHub Desktop.
import Cocoa
/// BOOLEANS
let filename = "EtBilu.jpg"
print(filename.hasSuffix(".jpg"))
let numero = 120
print(numero.isMultiple(of: 11))
// Tanto .hasSuffix quanto .isMultipleOf apresentam uma resposta booleana, ou seja, verdadeira ou falsa (true/false).
let goodDogs = true
let gameOver = false
let isMultiple = 120.isMultiple(of: 3)
// Acima, a resposta será "true", ou seja, a constante isMultiple é verdadeira pois é resultado de uma operação que é verdadeira.
var isAuthenticated = false
isAuthenticated = !isAuthenticated
print(isAuthenticated)
isAuthenticated = !isAuthenticated
print(isAuthenticated)
// Podemos inverter um booleano com a funcionalidade .toggle() (tem parênteses - muda o resultado) ou com ! (como na linguagem R)
isAuthenticated.toggle()
print(isAuthenticated)
/// INTERPOLAÇÃO DE STRINGS
let primeiraPalavra = "Hello, "
let segundaPalavra = "World!"
let frase = primeiraPalavra + segundaPalavra
print(frase)
// Assim, usando o sinal de +, podemos fazer a junção de strings.
let primeiroNome = "Matheus"
let ultimoNome = "Pestana"
let nomeCompleto = primeiroNome + " Cavalcanti " + ultimoNome
print(nomeCompleto)
// Essa capacidade do + ser usado para juntar strings, mas somar números, se chama "operator overloading", ou seja, a habilidade de um sinal representar diferentes operações dependendo do contexto em que é usado. Em Swift, tudo depende do contexto.
let nome = "Matheus"
let idade = 29
let message = "Olá, meu nome é \(nome) e eu tenho \(idade) anos."
print(message)
// Essa é uma forma de interpolar que é mais interessante que usar o +, pois o + junta cada uma das strings anteriores antes de somar as próximas, e se a sentença for grande ou forem muitos dados, essa forma de interpolação é melhor. OBS: Perceba que idade é integer, mas quando usada na interpolação, automaticamente se converte para string, algo que não acontece com o +.
let message2 = "Olá, meu nome é " + nome + " e eu tenho " + String(idade) + " anos."
print(message2)
// Essa seria a forma de fazer com que um inteiro ou double funcionasse com o +: alterando o seu tipo.
print("2 + 2 é \(2+2)")
// Tudo dentro de \() pode ser interpretado como uma função.
print("O dia de hoje é \(Date())")
/// CHECKPOINT 1
let temperatureC = 28.0
let temperatureF = 32.0 + (temperatureC * 9.0)/5.0
let temperatureOut = "A temperatura atual é de \(temperatureC)ºC / \(temperatureF)ºF."
print(temperatureOut)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment