Menu
Coddy logo textTech

Parâmetros Posicionais Opcionais

Parte da seção Fundamentos do Journey de Dart da Coddy — lição 72 de 94.

Parâmetros posicionais opcionais no Dart permitem que você crie funções onde alguns parâmetros são opcionais. Você os define colocando parâmetros dentro de colchetes quadrados [].

Crie uma função com parâmetros posicionais opcionais:

void greet(String name, [String? greeting]) {
  if (greeting != null) {
    print('$greeting, $name!');
  } else {
    print('Hello, $name!');
  }
}

void main() {
  greet('Dart');
  greet('Dart', 'Welcome');
}

Após executar o código acima, a saída será:

Hello, Dart!
Welcome, Dart!

Você pode ter múltiplos parâmetros opcionais:

int calculateTotal(int quantity, [int price = 10, int tax = 2]) {
  return quantity * price + tax;
}

void main() {
  print(calculateTotal(5));
  print(calculateTotal(5, 20));
  print(calculateTotal(5, 20, 5));
}

Após executar o código acima, a saída será:

52
102
105
challenge icon

Desafio

Iniciante

Neste desafio, você praticará o uso de parâmetros posicionais opcionais em funções Dart. Parâmetros posicionais opcionais permitem que você crie funções onde alguns parâmetros são opcionais.

Complete a função greet abaixo que recebe um parâmetro name obrigatório e um parâmetro title opcional. Se o title for fornecido, a função deve retornar uma saudação com o title e o name. Se nenhum title for fornecido, deve usar apenas o name.

Saída esperada:

Hello, John!
Hello, Dr. Smith!

Folha de consulta

Parâmetros posicionais opcionais em Dart são definidos colocando parâmetros dentro de colchetes quadrados []:

void greet(String name, [String greeting]) {
  if (greeting != null) {
    print('$greeting, $name!');
  } else {
    print('Hello, $name!');
  }
}

Você pode ter múltiplos parâmetros opcionais com valores padrão:

int calculateTotal(int quantity, [int price = 10, int tax = 2]) {
  return quantity * price + tax;
}

Chame funções com parâmetros opcionais fornecendo apenas os argumentos obrigatórios ou incluindo os opcionais:

greet('Dart');           // Uses default behavior
greet('Dart', 'Welcome'); // Uses provided optional parameter

Experimente você mesmo

void main() {
  // Essas variáveis já estão definidas para você
  String person1 = "John";
  String person2 = "Smith";
  String title = "Dr.";
  
  // Chame a função greet apenas com o nome
  print(greet(person1));
  
  // Chame a função greet com nome e título
  print(greet(person2, title));
}

// TODO: Complete a função greet com um parâmetro de título opcional
// O parâmetro de título deve ser opcional (use colchetes [])
String greet(String name) {
  // Se o título for fornecido, retorne "Hello, {title} {name}!"
  // Se o título não for fornecido, retorne "Hello, {name}!"
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos