注:本文仅记录一些和java语法不甚相同或较难理解部分,方便个人的查找和学习

1.在 Dart 中有两个比较特殊的运算符。

  • 赋值运算符 ??=
  • 条件运算符 ??
void operatorTest(){
//  dart中的运算符
/*
* 赋值运算符 ??=
* 条件运算符 ??
*
*///举例var a;a ??= 10;//当a没有值的时候就赋值 10print(a);a ??= 5;print(a);a ??= 1;print(a);}

代码运行结果

  • 条件运算符 ??
void operatorTest(){
//  dart中的运算符
/*
* 条件运算符 ??
*/var a;a ??= 10;//当a没有值的时候就赋值 10var b ;b = 5;print(b ?? a);// ??当左边有值就返回左边,否则返回右边

代码运行结果

2.Dart中的箭头函数

void main(){functionTest();}
void functionTest() {print(sum(10, 10));
}
// 求和方法
int sum (int a,int b){return a +b ;
}

返回值和参数类型可以省略。那么变形如下:

// 求和方法
sum (a,b) =>  a +b ;

 我个人理解为将大括号和return省略 由"=>"代替

3.Dart中的可选参数

Dart中可选参数类型分为两种

  • 由大括号{}包围
    特点:实现方法时,可以指定具体传递某一个参数。
    与python中关键字传参类似,位置可以不必须保持一致
  • 由中括号  [ ]  包围
    特点,多个可选参数时,默认按照前后顺序传递。
  • 共同点:括号内的参数传参时均可以不传递
void main(List<String> args) {print(getStr("xxx"));//xxxprint(getStr("xxx",12));//xxx   12print(getPart1("大括号", pwd: "123", name: "小米")); // 顺序可以不同
}String getStr(String name,[int age]){// 这里由[ ]括起来的参数在调用时可以不传递if(age != null){return "$name   $age";}else {return name;}
String getPart1(var a, {String name, String pwd}) {//这里由 { } 括起来的参数在调用时可以不传递print("a=$a name=$name pwd=$pwd");
}

4.Dart中类 中无论函数还是方法都不支持重载,方法名一样,参数不同会报错。

class A{A(){}A(int a){//这个地方会报错,说A()函数已经存在}A.eat(){//构造函数}A.sing(int food){//构造函数}A.sleep(){//构造函数}}

Dart语言笔记(运算符、箭头函数、可选参数)相关推荐

  1. ES6学习笔记:箭头函数

    lambda函数即匿名函数,在ES6发布之前,我们通常会这样写匿名函数 var selected = allJobs.filter(function (job) {return job.isSelec ...

  2. ES6 | let 关键字 + const关键字 + 箭头函数 + rest参数 + 扩展运算符 ... + Symbol + 迭代器 + 生成器 + 变量的解构赋值 + 模板字符串

    目录 ECMASript 相关介绍 ECMASript 6 新特性 let 关键字 const关键字 变量的解构赋值 模板字符串 简化对象写法 箭头函数 => 参数默认值 rest参数 扩展运算 ...

  3. es6 箭头函数 rest参数 扩展运算符

    Es6 箭头函数 语法: 普通函数: fn=function(){} 箭头函数: fn=()=>{} 特性: this是静态的,this始终指向函数声明时所在作用域下的this的值(使用call ...

  4. 《Effective C#》读书笔记——条目10:使用可选参数减少方法重载的数量C#语言习惯...

    C#4.0 引入了具名参数(MSDN翻译为"命名实参",个人认为具名参数更形象,可选参数亦是)和可选参数(可选实参).客户端代码使用具名参数意味着:方法中的参数名称也成为了公有接口 ...

  5. Go语言自学系列 | golang函数的参数

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...

  6. 最小值c语言编写自定义函数,C语言笔记55:自定义函数[老九学堂]

    函数定义 return_type function_name ([datetype1 arg1],[datype2 arg2,[...]){ //函数体 } 函数三要素返回值类型 函数名 参数列表 书 ...

  7. 高级JavaScript #ES6(模板字符串,let,箭头函数,forof,参数增强,解构,class,promise)

    模板字符串 1.模板字符串: 只要拼接字符串 都用模板字符串代替+a.整个字符串包裹在一对儿反引号 ` ` 中b.反引号``中支持换行 c.反引号中需要动态生成的内容必须放在${}里d. ${}里: ...

  8. javascript 箭头函数获取参数列表

    箭头函数中无法使用 arguments 获取函数参数. 可以使用ES6的解构语法来代替. let func = (...args) => {console.log('函数的参数是:', args ...

  9. python形式参数和实际参数_python学习笔记3:函数和参数

    函数 函数的参数和返回值 形参(形式参数): 在函数定义的时候用到的参数没有具体值,只是一个占位的符号,成为形参,下例中的peison 实参(实际参数): 在调用函数的时候输入的值:下例中的明月 de ...

最新文章

  1. 开源项目:windows下使用MinGW+msys编译ffmpeg
  2. Xshell Linux常用命令及vim与权限修改等常见问题
  3. Python脑电数据的Epoching处理
  4. 强化学习之三:双臂赌博机(Two-armed Bandit)
  5. Struts 2的基石——拦截器(Interceptor)
  6. Java程序设计基础--流程控制
  7. 老赖整治升级,不还钱直接扣微信钱包!
  8. 盘点技术史:流量运营(PC 时代)
  9. 快毕业才发现自己找不到工作,为什么实习经历如此重要?
  10. 初次接触 Lottie
  11. 微信小程序加载本地图片方法
  12. 0626 Django模型(ORM)
  13. 几篇关于Cecil混淆程序集的文章
  14. poj Risk 1603 floyd基础题!!
  15. mysq命令行导出sql_mysql 命令行导入导出.sql文件
  16. 再多的非标电气设计也不怕了
  17. PAT乙级 1068 万绿丛中一点红 (20 分) Java 实现
  18. react 控制台 Maximum call stack size exceeded 如何解决
  19. C++ Guaranteed Copy Elision
  20. rabbit ack机制

热门文章

  1. Java实现多种情况下语言本地化
  2. C++为什么始终无法取代 C 吗?
  3. 打包下载(批量下载)
  4. linux操作系统之终端命令echo命令详解 通俗易懂
  5. 如何在VC中加减日期及 CTime COleDateTime的常用操作
  6. oracle (+)的,数据库知识(SQL+ORACLE)
  7. javafx vbox 居中_如何平均分配JavaFX VBox的元素
  8. 【钉钉-场景化能力包】钉工牌
  9. java毕业设计——基于Java+Bootstrap+Mysql的电影评论网站设计与实现(毕业论文+程序源码)——电影评论网站
  10. flutter webview 解析html中文乱码问题