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
105Desafio
InicianteNeste 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}!"
}
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
4Operadores Parte 2
Operadores de ComparaçãoAND LógicoOR LógicoNOT LógicoOperadores de Teste de TipoResumo - Fazendo Comparações7Trabalhando com Strings
Concatenação de StringsInterpolação de StringsStrings Multi-linhaPropriedades de StringsMétodos Básicos de Strings10Coleções - Básicos de Mapas
O que são Mapas?Criando um MapaAcessando Valores por ChavePares Chave-ValorObtendo o Tamanho do MapaObtendo as ChavesObtendo os ValoresVerificando se uma Chave Existe2Variáveis e Tipos de Dados Básicos
O que são Variáveis?StringsInteiros (int)Double (double)Booleanos (bool)Inferência de Tipo com 'var'Variáveis finalVariáveis constantesConvenções de NomenclaturaNull Safety BásicaResumo - Declarando Variáveis8Fluxo de Controle - Laços
O Laço 'for'O Laço 'while'O Laço 'do-while'Usando 'break' em LaçosUsando 'continue' em LaçosResumo - Repetindo Código3Operadores Parte 1
Operadores AritméticosDivisão InteiraOperador MóduloIncremento e DecrementoAtalhos de AtribuiçãoResumo - Cálculos Simples6Fluxo de Controle - Tomada de Decisões
A Instrução 'if'A Instrução 'else'A Instrução 'else if'Resumo - Decisões SimplesInstruções 'if' AninhadasA Instrução 'switch'9Coleções - Listas Básicas
O que são Listas?Criando uma ListaAcessando por ÍndiceObtendo o Tamanho da ListaAdicionando ElementosRemovendo ElementosVerificando se uma Lista Está VaziaIterando Sobre uma Lista12Funções Avançadas
Parâmetros Posicionais OpcionaisParâmetros NomeadosParâmetros Nomeados ObrigatóriosValores Padrão de ParâmetrosResumo - Parâmetros de Função15Projeto: Calculadora Simples
ConfigurandoDeclarando NúmeroPratique por conta própria: Compilador de Dart online