为什么要指出Option参数?

时间:2019-08-28 11:37:42

标签: flutter dart

我想创建一个Setter()并找到将Option参数用于newValue的代码。 应该解释为类似于括号中的[可选参数]吗?还能完全排除掉吗?

project.version

1 个答案:

答案 0 :(得分:0)

不确定我是否清楚地理解了您的问题。

1。必填参数

// here you need to provide Option
set selected(Option newValue) { 
  _selected = newValue;
  notifyListeners();
}

您会像

一样使用它
selected(value);

2。位置参数

// here Option is optional
set selected([Option newValue]) { 
  _selected = newValue;
  notifyListeners();
}

您会像

一样使用它
selected(value); // if you need to provide value
selected(); // if you don't want to provide any value

3。命名参数

// here Option is optional 
set selected({Option newValue}) { 
  _selected = newValue;
  notifyListeners();
}

您会像

一样使用它
selected(value: value); // if you want to provide value
selected(); // if you don't to provide value 

注意:

如果在变量前使用@required,则也可以要求使用位置和命名参数。

如果要为可选参数提供任何默认值,则可以在参数中使用以下内容

set selected({Option newValue = const SomeValue()}) {...}