Funções em Swift
August 30, 2019
NOTA: este é um guia básico de como criar funções em Swift :)
Uma função é nada mais do que um conjunto de instruções à serem executados na hora da chamada da mesma.
As funções em Swift são declaradas usando a palavra-chave func
seguido do nome da função e do seu bloco.
Exemplo:
func olaMundo() {
print("Ola, Mundo!")
}
O bloco(corpo) de uma função é todo o espaço entre as chavetas{}
, dentro delas definimos as instruções à serem executadas.
olaMundo() // Ola, Mundo
Para invocarmos uma função temos de usar o nome dado na hora da definição da mesma seguido de parênteses como mostra o a linha acima.
Passando parâmetros à funções
Parâmetros rótulados
Funções em Swift aceitam parâmetros com rótulos obrigatórios ou opcionais. Rótulos(label) são nomes que damos aos nossos parâmetro, quando são obrigatórios, devemos passar eles à quando da chamada da nossa função.
func olaMundo(nome: String) {
print("Hello", nome)
}
hello(nome: "Descondificando CC") // Hello Descondificando CC
Modificamos a nossa função olaMundo
para que agora receba um parâmetro chamado nome
que será um valor do tipo String
, o nome do parâmetro é também o nome do rótulo, e neste caso é obrigatório. Ao chamarmos a nossa função, temos de passar o valor para parâmetro e o seu respectivo rótulo.
Parâmetros não rótulados
Para transformar o rótulo de um parâmetro de obrigatório à opcional, usamos um _
(underscore) antes do nome do parâmetro.
func olaMundo(_ nome: String) {
print("Hello", nome)
}
hello("Descondificando CC") // Hello Descondificando CC
Parâmetros com valores padrão
Ainda usando a nossa função olaMundo
, ao invocarmos-lhe sem o valor esperado, a função não será executada. Para prevenirmos este tipo de erros, podemos usar os parâmetros com valores padrão.
func olaMundo(_ nome: String = "Ciências da Computação") {
print("Hello", nome)
}
hello() // Hello Ciências da Computação
Retornando valores
Funções podem retornar valores, valores estes que em seguida podem ser guardados em uma varíavel para usos posteriores, para isso, usamos a palavra-chave return
.
Ao retornarmos valores em funções, devemos definir que tipo de valor ela retornará.
func dobro(_ num: Int) -> Int {
return num * num
}
let resultado = dobro(2)
print(resultado) // 4
A função dobro
recebe um parâmetro com uma label opcional do tipo Int
(inteiro) e retorna um valor do mesmo tipo que o parâmetro que ela recebe, em seguida retornamos o valor da operação num * num
.
O tipo de retorno de uma função é definido pelo ->
seguido do tipo de dados, por exemplo:
func greetings(_ name: String) -> String {
return "Hello, \(name)"
}
print(greetings("Noémia")) // Hello, Noémia
Na função acima, a gente definiu uma função que recebe um parâmetro do tipo String
e que retorna um resultado do tipo String
também!