Dart has two flavours of optional parameters, positional and named parameters.
Optional positional parameters
Square brackets [] can be used to specify optional positional parameters. If optional positional parameters are defined, function calls may specify a variable number of arguments.
void main() {
test(1);
test(1, 2);
test(1, 2, 3);
}
void test(a, [b, c]) { }