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!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 parameterExperimente 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úmero