美文网首页DartFlutterFlutter
Dart语法之可选参数

Dart语法之可选参数

作者: Swy2w | 来源:发表于2018-10-11 20:29 被阅读6次

Dart方法有两种类型的参数:必需的和可选的。必需的我们一般都知道,这里主要分析可选参数。

如果同时包含可选参数和必需参数,必需的参数在参数列表前面, 可选数在后面。

可选参数可以有一个默认值,当默认值在调用者没有指定值时使用。这一点和kotlin的语法很像。其次可选参数具体可分为:

  • Optional named parameters(可选命名参数)
  • Optional positional parameters(可选位置参数)
可选命名参数

在方法参数中,使用"{}"包围的参数属于可选命名参数,比如

  void _buildThree(int num, {String name, int range}) {
    
  }

可以为可选参数添加默认值,比如:

  void _buildThree(int num, {String name, int range = 10}) {

  }

调用包含可选命名参数的方法时,需要使用paramName:value的形式指定为哪个可选参数赋值,比如:

    _buildThree(10,range: 1);
可选位置参数

在方法参数中,使用"[]"包围的参数属于可选位置参数,比如

  void _buildHouse(int num, [String where, int range]) {

  }
  
  void _buildHouseAndDefaultValue(int num, [String where = 'Shanghai', int range]) {

  }

调用包含可选位置参数的方法时,无需使用paramName:value的形式,因为 可选位置参数是位置,如果想指定某个位置上的参数值,则必须前面位置的已经有值,即使前面的值存在默认值。 比如:

    _buildHouse(10,10); //不可行的
    
    _buildHouse(10,'shenzhen',10); //可行的
    
    _buildHouseAndDefaultValue(10,10); //不可行的
    
    _buildHouseAndDefaultValue(10,'shenzhen',10); //可行的
    
    

这里特意使用两个不同类型的可选参数作为示例,如果前后可选参数为相同类型,则会出现异常结果,并且只有在发生后才会注意到。所以这一点要特别注意。比如一下示例,假如本意是想赋值给age,但结果将会差强人意

void _buildHouse(int num, [int range , int age]) {
  print('range :  $range  age : $age');
}

void main() {
  _buildHouse(10,10);
}

输出:

range :  10  age : null

相关文章

  • Dart语法之可选参数

    Dart方法有两种类型的参数:必需的和可选的。必需的我们一般都知道,这里主要分析可选参数。 如果同时包含可选参数和...

  • Dart 基础语法

    在线Dart语言编辑器 [dartpad]https://dartpad.cn/ 国内版 函数 a)可选参数 语法...

  • Dart独特的使用方式(session one)

    1.位置可选参数 Dart中的函数可以包含可选参数。可选参数是函数调用者可以选择不提供的参数。可以在函数内检查可选...

  • Dart基础语法<五> 参数

    本节主要记录Dart方法参数中的 可选位置参数 默认参数 可选命名参数 在java中经常会出现各种重载函数 但一旦...

  • dart

    "_" 不同文件中才有私有效果,如果是同一.dart文件中,则没有私有效果。 可选参数 用[]包围的参数是可选参数...

  • 2.Dart面向对象

    函数 命名可选参数{} 位置可选参数[] 作用域定义:与js的作用域一致,层层向上找。 Dart函数闭包 js函数...

  • 【Flutter】Dart语法篇之类型系统与泛型(七)

    一、可选类型 在Dart中的类型实际上是可选的,也就是在Dart中函数类型,参数类型,变量类型是可以直接省略的。 ...

  • MySQL用户创建

    创建语法 CREATE USER语法 GRANT USER语法 注意[PASSWORD]是可选参数,IDENTIF...

  • Dart-函数与运算符

    函数 基本语法 主函数 main() 函数,作为程序的入口,返回值是void,还有一个可选参数 可选参数 命名参数...

  • Python 入门 Day4 列表是什么、如何访问等一系列操作

    range() 语法:range([start,] stop[, step=1]) [start,]表示可选参数,...

网友评论

    本文标题:Dart语法之可选参数

    本文链接:https://www.haomeiwen.com/subject/lrjiaftx.html