在 Flutter (以及 Dart 语言) 中,positional 参数指的是在函数或构造函数中按照声明的位置传递的参数。这些参数在调用函数时必须按照声明的顺序传递,并且在大多数情况下是必须的,除非它们被标记为可选的。
例如,考虑下面的函数定义:
dartvoid greet(String firstName, String lastName) { print("Hello, $firstName $lastName!"); }
在这个函数中,firstName
和 lastName
都是 positional 参数,调用这个函数时需要按顺序提供这两个参数,如 greet('John', 'Doe')
。
如果你想让某些 positional 参数是可选的,你可以使用方括号 [ ]
来定义这些参数,如:
dartvoid greet(String firstName, [String lastName]) { if (lastName == null) { print("Hello, $firstName!"); } else { print("Hello, $firstName $lastName!"); } }
在这个修改版的函数中,lastName
是一个可选的 positional 参数。你可以只传递一个参数 greet('John')
,也可以像之前一样传递两个参数 greet('John', 'Doe')
。