Menu
CoddyTech

Parametri posizionali opzionali

Fa parte della sezione Fondamenti del percorso Dart di Coddy. Lezione 72 di 94.

I parametri posizionali opzionali in Dart ti permettono di creare funzioni in cui alcuni parametri sono facoltativi. Li definisci inserendo i parametri tra parentesi quadre [].

Crea una funzione con parametri posizionali facoltativi:

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

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

Dopo aver eseguito il codice qui sopra, l’output sarà:

Hello, Dart!
Welcome, Dart!

Puoi avere più parametri opzionali:

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));
}

Dopo aver eseguito il codice qui sopra, l'output sarà:

52
102
105
challenge icon

Sfida

Principiante

In questa sfida, farai pratica con l'uso dei parametri posizionali opzionali nelle funzioni Dart. I parametri posizionali opzionali ti consentono di creare funzioni in cui alcuni parametri sono facoltativi.

Completa la funzione greet qui sotto, che accetta un parametro obbligatorio name e un parametro facoltativo title. Se viene fornito title, la funzione dovrebbe restituire un saluto con sia il titolo sia il nome. Se non viene fornito alcun titolo, dovrebbe usare solo il nome.

Output previsto:

Hello, John!
Hello, Dr. Smith!

Provalo tu

void main() {
  // Queste variabili sono già definite per te
  String person1 = "John";
  String person2 = "Smith";
  String title = "Dr.";
  
  // Chiama la funzione greet passando solo il nome
  print(greet(person1));
  
  // Chiama la funzione greet passando sia il nome sia title
  print(greet(person2, title));
}

// TODO: Completa la funzione greet con un parametro title opzionale
// Il parametro title deve essere opzionale (usa le parentesi quadre [])
String greet(String name) {
  // Se title è presente, restituisci "Hello, {title} {name}!"
  // Se title non è presente, restituisci "Hello, {name}!"
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Dart online