O que é uma função na programação?

Você costuma copiar e colar seu código para reutilizá-lo em diferentes seções do programa?

Nesse caso, você pode considerar o uso de funções. Funções são um recurso muito poderoso das linguagens de programação. Eles podem tornar o código mais eficiente, fácil de ler e elegante.

O que é uma função?

Uma função é um bloco de código que executa uma tarefa. Ele pode ser chamado e reutilizado várias vezes. Você pode passar informações para uma função e ela pode enviar informações de volta. Muitas linguagens de programação têm funções integradas que você pode acessar em suas bibliotecas, mas você também pode criar suas próprias funções.

Quando você chama uma função, o programa pausa o programa atual e executa a função. A função será lida de cima para baixo. Assim que a função for concluída, o programa continuará a ser executado de onde parou. Se a função retornou um valor, esse valor será usado onde a função foi chamada.

Como você escreve uma função?

Existem muitas maneiras diferentes de escrever funções. A sintaxe exata dependerá da linguagem em que você está programando. Mostraremos exemplos em Python, JavaScript e C ++ para demonstrar uma variedade de sintaxe de programação.

Relacionado: Por que as linguagens de programação não podem existir sem funções

Funções de Vazio

O primeiro tipo de função que veremos é uma função vazia. Isso significa simplesmente que a função não retorna um valor. As funções de vazio são usadas para completar um conjunto de instruções. Nestes exemplos, a função que escrevemos é chamada helloFunction . O objetivo da função é gerar "Hello World".

DICA: dê nomes às funções que explicam o que fazem. Será mais fácil gerenciar funções e ler o código conforme seu programa se torna mais complexo.

Pitão

 def helloFunction():
print("Hello World")
helloFunction()

A palavra-chave def é usada em Python para definir e criar uma função. Em seguida, é o nome da função. As instruções na função seguem na próxima linha após os dois pontos. O espaço em branco é importante no Python, portanto, certifique-se de recuar todo o código que deseja que sua função execute. No exemplo acima, a função executa uma linha de código.

Seus olhos atentos podem ter notado que print () também é uma função, mas é chamada de forma diferente da nossa função. Mantenha esse pensamento agora, vamos explorar as funções e os parâmetros mais tarde.

JavaScript

 function helloFunction(){
alert("Hello World!");
}
helloFunction();

Em JavaScript, a função de palavra-chave é usada para criar funções. A seguir, temos o nome da função. Qualquer código que esteja entre as chaves é executado quando a função é chamada.

O espaço em branco não é importante em JavaScript, mas é comum recuar o código na função. A indentação torna o código mais fácil de ler, o que é muito importante à medida que seus programas se tornam mais complexos.

Nota: Muito parecido com print () no exemplo anterior, alert () também é uma função.

C ++

 #include <iostream>
using namespace std;
void helloFunction(){
cout << "Hello World!";
}
int main(){
helloFunction();
return 0;
}

As funções são criadas de maneira diferente em C ++. Em vez de uma palavra-chave para definir uma função, a primeira palavra descreve o tipo de dados que a função retornará. Neste caso, nossa função não retorna nenhum dado, então os dados são nulos. Em seguida, temos o nome da função. Semelhante ao JavaScript, todo o código entre as chaves é executado quando a função é chamada. Também de forma semelhante ao JavaScript, o espaço em branco não afeta a função, mas é uma boa prática.

Você identificou outra função no código C ++? Sim, main () é uma função. Ao executar um programa C ++, você chama automaticamente a função principal. Quando a função principal é concluída com êxito, ele retorna 0 ao sair do programa para sinalizar que não houve erros ao executar o programa.

Funções que requerem valores

As funções de void são ótimas se você descobrir que está escrevendo o mesmo trecho de código repetidamente. Mas eles podem ser limitantes. Eles são estáticos e não mudam. Eles sempre completam as mesmas instruções. Uma maneira de aumentar sua utilidade é passar valores diferentes para a função.

Você deve ter notado que os colchetes seguiram os nomes de todas as nossas funções. Entre colchetes, podemos declarar que os dados são necessários para executar nossa função. Então, podemos usar os dados passados ​​para nossa função na função. Vamos dar uma olhada nos exemplos anteriores novamente, mas desta vez passe a frase que desejamos que seja exibida.

Pitão

 def helloFunction(newPhrase):
print(newPhrase)
helloFunction("Our new phrase")

Agora, entre colchetes, nossa função declara que precisa de uma variável para ser executada. Chamamos a variável newPhrase e agora podemos usá-la em nossa função. Quando chamamos a função, precisamos passar as informações solicitadas colocando-as entre os colchetes. As mesmas mudanças foram feitas em JavaScript.

JavaScript

 function helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction("Our new phrase");

C ++

 #include <iostream>
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction("Our new Phrase");
return 0;
}

Nossa função C ++ exigia um pouco mais de informações. Sabemos que sua função deseja dados de string, mas isso não é bom o suficiente para C ++. Ao criar sua função, você deve especificar que tipo de dados sua função requer. Se você não enviar o tipo correto de dados, a função criará um erro.

Isso pode parecer um pouco irritante, mas as linguagens rígidas geralmente podem evitar que você tenha dores de cabeça. Se você escrever uma função em JavaScript que requer um número inteiro, mas o número for enviado como uma string, pode criar um bug que é muito difícil de rastrear.

Relacionado: 5 linguagens de programação funcional que você deve conhecer

Funções que retornam um valor

A capacidade da função final que abordaremos é o retorno de dados. Isso é particularmente valioso quando você deseja alterar os dados antes de usá-los. Embora você possa escrever isso sequencialmente, se usar os mesmos cálculos muitas vezes, como converter imperial em métrico, pode fazer mais sentido escrevê-lo como uma função. Nosso exemplo será mais simples. Nossa função exigirá dois inteiros e retornará a soma.

Pitão

 def addingFunction(a, b):
return a + b
print(addingFunction(2, 4))

Neste exemplo, nossa função requer duas variáveis ​​em vez de uma. Indicamos isso separando os nomes de nossas variáveis ​​com uma vírgula. A palavra-chave return diz à função para retornar os seguintes dados, neste caso, 2 + 4 ou 6. Chamamos a função dentro da função print () .

Assim que nosso programa chegasse a essa linha, ele teria pausado, executado nossa função e então continuado como se a adição de funções (2, 4) fosse na verdade apenas o valor 6 retornado.

JavaScript

O código JavaScript é muito semelhante ao código Python. A principal diferença é que a função é chamada em um alerta.

 function addingFunction(a, b){
return a + b;
}
alert(addingFunction(2, 4));

C ++

 #include <iostream>
using namespace std;
int addingFunction(int a, int b){
return a + b;
}
int main(){
cout << addingFunction(2, 4) ;
return 0;
}

O código C ++ é executado de maneira semelhante, mas, como de costume, requer um pouco mais de informações. Primeiro, temos que dizer que tipo de dados nossa função retornará. Você verá que void foi alterado para int . Isso significa que em vez de retornar nenhum dado, nossa função retornará um inteiro. Além disso, o código é semelhante ao código que já exploramos.

Gerenciar suas funções

Uma coisa divertida sobre funções é que funções podem chamar outras funções. Eles podem até chamar a si mesmos! Mas com grande poder vem uma grande responsabilidade. Não enlouqueça criando código com funções que chamam outras funções que chamam ainda mais funções.

Conforme mencionado, sempre que uma função é chamada, o programa faz uma pausa enquanto executa a função. Isso significa que o programa está sendo mantido na memória ativa. Se você chamar várias outras funções sem concluí-las, estará usando mais memória ativa. Se você não tiver cuidado, seu programa pode sair do controle.