Mobile App Development · Dart/Flutter

03 · Funções

Como criar e usar funções em Dart: parâmetros posicionais e nomeados, valores padrão, retorno e arrow functions.

1Objetivo da aula

Aprender a criar e usar funções em Dart para organizar o código, evitar repetição, separar responsabilidades e deixar o programa mais fácil de ler, testar e manter. Ao final desta aula, você deve conseguir declarar funções com e sem retorno, enviar informações usando parâmetros posicionais, nomeados e com valores padrão, criar funções curtas com arrow function e reaproveitar funções em exercícios e desafios práticos.

2O que vamos aprender

void minhaFuncao() { }

Função sem retorno: executa uma ação (como imprimir algo) mas não devolve nenhum valor para quem chamou.

saudar(String nome)

Parâmetro posicional: envia dados para dentro da função na ordem em que são declarados.

int somar(...) { return ...; }

Função com retorno: o tipo antes do nome indica o que ela devolve, e return envia o resultado para quem chamou.

{required String nome}

Parâmetros nomeados: declarados entre chaves {}, deixam a chamada da função mais legível. required torna o parâmetro obrigatório.

{String prefixo = 'Info'}

Valores padrão: um parâmetro nomeado com valor padrão se torna opcional — se omitido na chamada, usa esse valor.

int dobrar(int n) => n * 2;

Arrow function: forma curta para funções com apenas uma expressão. O => retorna automaticamente o resultado.

void Function() acao

Funções como valores: uma função pode ser armazenada em uma variável ou passada como argumento para outra função — muito comum em callbacks do Flutter.

numeros.map((n) => dobrar(n))

Uma função pode ser usada dentro de outra função de coleção, como map(), para transformar cada item de uma lista.

3Exemplo comentado

void main() {
  exibirBoasVindas();

  final soma = somar(8, 4);
  print('Soma: $soma');

  final saudacao = montarSaudacao(nome: 'Ana', cidade: 'São Paulo');
  print(saudacao);

  final numeros = [1, 2, 3, 4, 5];
  final dobrados = numeros.map((n) => dobrar(n)).toList();
  print('Dobro: $dobrados');
}

void exibirBoasVindas() {
  print('Bem-vindo(a) à aula de funções!');
}

int somar(int a, int b) {
  return a + b;
}

String montarSaudacao({required String nome, required String cidade}) {
  return 'Olá, $nome! Você está em $cidade.';
}

int dobrar(int numero) => numero * 2;

4Saída esperada

Bem-vindo(a) à aula de funções!
Soma: 12
Olá, Ana! Você está em São Paulo.
Dobro: [2, 4, 6, 8, 10]

5Do conteúdo para a prática

6Prática sugerida