上QQ阅读APP看书,第一时间看更新
2.18 Dart语言特性及位置参数与可选参数
上一节主题使用的是静态变量,那么什么是静态变量?按住Ctrl单击颜色,进入Colors这个类的文件中,可以看到静态变量是如何定义的,代码如下:
static const MaterialColordeepOrange = MaterialColor( //静态变量 …
const表示这个值不可以改变,这样不需要用构造器就可调用它们。
现在学习命名参数,在之前的构造器中,我们只使用了位置参数,例如NewsManager构造器中的this.startingNews是位置参数,因为它是第一个被传入的值。如果只需使用一两个参数,位置参数就足够用了。如果需要使用很多参数,并且希望按名字定位它们,或者不想为其中的某些参数赋值,可以在构造器的参数这里加上大括号,代码如下:
NewsManager({this.startingNews}); //命名参数
这就是一个命名参数。现在可以给这个目标传入一个值,输入startingNews:代码如下:
body: NewsManager(startingNews:'first',), //使用命名参数
这样就定位到了名字叫startingNews的参数,因为这里选择了名字,然后把值传给了它。我们也可以通过构造器设置一个默认的值,代码如下:
NewsManager({this.startingNews='third'});//命名参数设置了默认值
这样可以省略传值。我们也可以给位置参数设置一些可选参数,例如在News小部件中,以一个空的数组开始,代码如下:
中括号表示参数是可选的,const表示它是不可以改变的。这样意味着在NewsManager中可以不传入news这个参数。