Dart语言笔记(运算符、箭头函数、可选参数)
注:本文仅记录一些和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语言笔记(运算符、箭头函数、可选参数)相关推荐
- ES6学习笔记:箭头函数
lambda函数即匿名函数,在ES6发布之前,我们通常会这样写匿名函数 var selected = allJobs.filter(function (job) {return job.isSelec ...
- ES6 | let 关键字 + const关键字 + 箭头函数 + rest参数 + 扩展运算符 ... + Symbol + 迭代器 + 生成器 + 变量的解构赋值 + 模板字符串
目录 ECMASript 相关介绍 ECMASript 6 新特性 let 关键字 const关键字 变量的解构赋值 模板字符串 简化对象写法 箭头函数 => 参数默认值 rest参数 扩展运算 ...
- es6 箭头函数 rest参数 扩展运算符
Es6 箭头函数 语法: 普通函数: fn=function(){} 箭头函数: fn=()=>{} 特性: this是静态的,this始终指向函数声明时所在作用域下的this的值(使用call ...
- 《Effective C#》读书笔记——条目10:使用可选参数减少方法重载的数量C#语言习惯...
C#4.0 引入了具名参数(MSDN翻译为"命名实参",个人认为具名参数更形象,可选参数亦是)和可选参数(可选实参).客户端代码使用具名参数意味着:方法中的参数名称也成为了公有接口 ...
- Go语言自学系列 | golang函数的参数
视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...
- 最小值c语言编写自定义函数,C语言笔记55:自定义函数[老九学堂]
函数定义 return_type function_name ([datetype1 arg1],[datype2 arg2,[...]){ //函数体 } 函数三要素返回值类型 函数名 参数列表 书 ...
- 高级JavaScript #ES6(模板字符串,let,箭头函数,forof,参数增强,解构,class,promise)
模板字符串 1.模板字符串: 只要拼接字符串 都用模板字符串代替+a.整个字符串包裹在一对儿反引号 ` ` 中b.反引号``中支持换行 c.反引号中需要动态生成的内容必须放在${}里d. ${}里: ...
- javascript 箭头函数获取参数列表
箭头函数中无法使用 arguments 获取函数参数. 可以使用ES6的解构语法来代替. let func = (...args) => {console.log('函数的参数是:', args ...
- python形式参数和实际参数_python学习笔记3:函数和参数
函数 函数的参数和返回值 形参(形式参数): 在函数定义的时候用到的参数没有具体值,只是一个占位的符号,成为形参,下例中的peison 实参(实际参数): 在调用函数的时候输入的值:下例中的明月 de ...
最新文章
- 开源项目:windows下使用MinGW+msys编译ffmpeg
- Xshell Linux常用命令及vim与权限修改等常见问题
- Python脑电数据的Epoching处理
- 强化学习之三:双臂赌博机(Two-armed Bandit)
- Struts 2的基石——拦截器(Interceptor)
- Java程序设计基础--流程控制
- 老赖整治升级,不还钱直接扣微信钱包!
- 盘点技术史:流量运营(PC 时代)
- 快毕业才发现自己找不到工作,为什么实习经历如此重要?
- 初次接触 Lottie
- 微信小程序加载本地图片方法
- 0626 Django模型(ORM)
- 几篇关于Cecil混淆程序集的文章
- poj Risk 1603 floyd基础题!!
- mysq命令行导出sql_mysql 命令行导入导出.sql文件
- 再多的非标电气设计也不怕了
- PAT乙级 1068 万绿丛中一点红 (20 分) Java 实现
- react 控制台 Maximum call stack size exceeded 如何解决
- C++ Guaranteed Copy Elision
- rabbit ack机制
热门文章
- Java实现多种情况下语言本地化
- C++为什么始终无法取代 C 吗?
- 打包下载(批量下载)
- linux操作系统之终端命令echo命令详解 通俗易懂
- 如何在VC中加减日期及 CTime COleDateTime的常用操作
- oracle (+)的,数据库知识(SQL+ORACLE)
- javafx vbox 居中_如何平均分配JavaFX VBox的元素
- 【钉钉-场景化能力包】钉工牌
- java毕业设计——基于Java+Bootstrap+Mysql的电影评论网站设计与实现(毕业论文+程序源码)——电影评论网站
- flutter webview 解析html中文乱码问题