Dart é uma linguística de programação moderna e orientada a objetos, desenvolvida pelo Google, que é usada para criar aplicativos móveis, web e desktop. Uma das principais características do Dart é que ele suporta funções de primeira classe, o que significa que as funções podem ser passadas como argumentos para outras funções, atribuídas a variáveis ou incorporadas em estruturas de dados. Neste artigo, vamos explorar os conceitos básicos de funções em Dart.
Definindo Funções em Dart
Em Dart, uma função é definida usando a palavra-chave 'void' seguida pelo nome da função, parênteses e um bloco de código entre chaves. Por exemplo:
void main() { print('Olá, Mundo!'); }
Esta é a função 'main', que é o ponto de entrada para todos os aplicativos Dart. Quando o programa é executado, a função 'main' é chamada primeiro.
Funções com Parâmetros
As funções em Dart podem ter parâmetros, que são valores que você pode passar para a função quando a chama. Os parâmetros são definidos entre parênteses após o nome da função. Por exemplo:
void saudacao(String nome) { print('Olá, $nome!'); }
Para chamar essa função, você passaria um valor para o parâmetro 'nome':
saudacao('Maria');
Funções com Valores de Retorno
As funções também podem retornar valores. Para fazer isso, substitua a palavra-chave 'void' pelo tipo de valor que a função retornará. Por exemplo, a seguinte função retorna um número inteiro:
int soma(int a, int b) { return a + b; }
Para usar o valor retornado por essa função, você pode atribuí-lo a uma variável:
int resultado = soma(5, 3);
Funções Anônimas
Dart também suporta funções anônimas, também conhecidas como funções lambda ou funções de seta. Essas são funções que não têm nome e são geralmente usadas para operações de curta duração. Por exemplo:
var lista = ['maçã', 'banana', 'laranja']; lista.forEach((item) { print(item); });
Neste exemplo, a função anônima é passada como argumento para o método 'forEach' da lista. A função é chamada uma vez para cada item na lista.
Funções de Alta Ordem
Como mencionado anteriormente, Dart suporta funções de primeira classe, o que significa que as funções podem ser passadas como argumentos para outras funções. Essas são chamadas de funções de alta ordem. Por exemplo:
void executaFuncao(Function funcao) { funcao(); } void dizOla() { print('Olá!'); } void main() { executaFuncao(dizOla); }
Neste exemplo, a função 'dizOla' é passada como argumento para a função 'executaFuncao', que então chama a função 'dizOla'.
Em resumo, as funções são uma parte fundamental da programação em Dart. Elas permitem que você organize seu código em blocos reutilizáveis e manipule dados de maneira eficiente. Dominar o uso de funções em Dart é essencial para criar aplicativos complexos com Flutter.