Dart(八) 参数

2018-12-29  本文已影响0人  书写不简单

可选命名参数

可选 命名参数:{param1,param2,…}

可选 位置参数:[param1,param2,…]

如果存在具体参数,可选参数声明的位置一般都是放在最后

代码:

void main() {
  String allName = getAllName("zhou", "bin",age: 12,gender: "男");
  print(allName);
}
// 可以指定默认值
String getAllName(String firstName, String secondName, {int age, String gender='girl'}){
  return firstName + " " + secondName + " " + age.toString() +" " + gender;
}

疑问:

参考了网上的写法,既然是可选参数,那么就可以不传,我不传的时候就会报错,不知道是不是版本问题。。。

补充:

如果要是不传值得话,必须指定一个默认值

可选位置参数

void main() {

  printPerson2("张三", 28);
  printPerson('zhou', 22,'chow','bin');

}

//
printPerson(name, age,[String firstname, String secondname="bin"]) {
  print("name=$name, age=$age, firstname=$firstname, secondname=$secondname");
}


printPerson2(String name, [int age, String gender]) {
  print("name=$name,age=$age,gender=$gender");
}

注意:

可选位置参数,传递的方式与 可选命名参数的传递方式不一样。可选命名参数在传递时要把名字加上。

您可以用@required在任何Dart代码中修饰指定参数(不仅仅是Flutter),以表明它是必需的参数。例如:

const Scrollbar({Key key, @required Widget child})
上一篇下一篇

猜你喜欢

热点阅读