A diferencia de los parámetros posicionales, el nombre de los parámetros debe especificarse mientras se pasa el valor. Se puede utilizar una llave {} para especificar parámetros con nombre opcionales.
Sintaxis: declaración de la función
void function_name(a, {optional_param1, optional_param2}) { }
Sintaxis: llamar a la función
function_name(optional_param:value,…);
Ejemplo
void main() {
test_param(123);
test_param(123,s1:'hello');
test_param(123,s2:'hello',s1:'world');
}
test_param(n1,{s1,s2}) {
print(n1);
print(s1);
}
Debería producir lo siguiente output-
123
null
123
hello
123
world