乐闻世界logo
搜索文章和话题

What is the difference between named and positional parameters in Dart?

1个答案

1

In the Dart language, function parameters can be specified in two ways: named parameters and positional parameters. The primary distinction lies in how values are passed during function calls and how they enhance code readability and flexibility.

Positional Parameters

  • Definition: Positional parameters pass values based on their order in the function definition.
  • Required: Unless marked as optional, all positional parameters must be provided in the defined order during function calls.
  • Optional: Optional positional parameters can be defined by enclosing them in square brackets [] within the parameter list.

Example:

dart
void sayHello(String firstName, String lastName, [String title]) { var result = 'Hello, '; if (title != null) { result += '$title '; } result += '$firstName $lastName'; print(result); } // Call sayHello('Jane', 'Doe'); // Output: Hello, Jane Doe sayHello('Jane', 'Doe', 'Dr.'); // Output: Hello, Dr. Jane Doe

Named Parameters

  • Definition: Named parameters pass values through parameter names, independent of position.
  • Required: By default, all named parameters are optional unless explicitly marked as required.
  • Optional: Named parameters are defined using curly braces {} and can include default values.

Example:

dart
void createContact({String firstName, String lastName, String email}) { print('Creating contact $firstName $lastName with email $email'); } // Call createContact(firstName: 'John', lastName: 'Doe', email: 'john.doe@example.com'); createContact(firstName: 'John', email: 'john.doe@example.com'); // lastName can be omitted

Summary:

  • Positional parameters are ideal for functions with few parameters where order is intuitive or when calls should remain minimalist.
  • Named parameters offer greater flexibility and readability, especially with many parameters or inconsistent importance. They allow focusing only on necessary parameters while omitting others.
  • When designing function interfaces, selecting the appropriate parameter type significantly impacts code clarity and usability.
2024年8月8日 00:26 回复

你的答案