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!

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

Pratique por conta própria: Compilador de Dart online