1 赋值运算符 ??=

b ??= "hello" 若b为空,则把"hello"赋给b 。

2 三目运算符

boolean ? expression1 : expression2 ; 

3  a ?? b

string a ="";
string b = "b";
string c = a??b ,若a不为空,则把a赋给c,否则把b赋给c

4 for语句

var list = [1,2,3];
for(int a in list){
print(a);
}

5 方法特性

  • 方法也是对象,具体类型Function
  • 返回值类型、参数类型都克省略
  • 箭头语法: => expression 是 {return expr;} 缩写
  • 都有返回值,默认return null
printPerson("koala", 18);

printPerson(name,age){ //省略了返回值和参数类型
print("name=$name ,age=$age");
} getName(name) => "name $name";//箭头语法 后面跟着一个返回的表达式 ,这里返回一个字符串

6 可选参数(在flutter控件初始化时经常用到)

基于名称用{}表示,调用时需指定参数名称。
printPerson(name, {int age, String gender}) {
print("name=$name,age=$age,gender=$gender");
} printPerson("koala", age: 18);

基于位置用[]表示

printPerson1(name, [int age, String gender]) {
print("name=$name,age=$age,gender=$gender");
} printPerson1("koala", 18, "male");

7 方法对象

方法可作为对象赋值给其它变量
void main(){
Function function = printHello;//将方法名称赋给变量
function('koala');//调用方法
} printHello(String name){
print("hello,$name");
}

方法可作为参数传递给其它方法

void main() {
var list = [1, 2, "a", true];
list.forEach(test);
} void test(Object obj) {
if (obj is String) print(obj * 2);
if (obj is num) print(obj * 2);
}

Dark 运算符的更多相关文章

  1. shell运算符

    原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用. expr 是一款表达式计算工具,使用它能完成表达式的求值操作. #!/bin/bash v ...

  2. SQL Server-聚焦APPLY运算符(二十七)

    前言 其实有些新的特性在SQL Server早就已经出现过,但是若非系统的去学习数据库你会发现在实际项目中别人的SQL其实是比较复杂的,其实利用新的SQL Server语法会更加方便和简洁,从本节开始 ...

  3. java中的移位运算符:<<,>>,>>>总结

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  4. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  5. .NET 基础 一步步 一幕幕[运算符、占位符、转义符]

      运算符.占位符.转义符 好吧,在五局全胜之后,终于升到了三个钻,距离一个星星还有一大段距离,忽然想起来今天的博客还没写,果断坑队友,来写博客了....感觉以后还是每天更新一篇比较好.要不晚上就该熬 ...

  6. ECMASCript2015 提案 stage-3的对象展开运算符

    看源码时看到如下的代码 export default { //通过mapActions将actions映射到methods里 methods: { ...mapActions([ 'updateSta ...

  7. JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)

    1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 ale ...

  8. JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)

    1.3种原始表达式     1.直接量:    1.23    //数字直接量                         “hello”    //字符串直接量                 ...

  9. LINQ to SQL语句(18)之运算符转换

    运算符转换 1.AsEnumerable:将类型转换为泛型 IEnumerable 使用 AsEnumerable<TSource> 可返回类型化为泛型 IEnumerable 的参数.在 ...

随机推荐

  1. Python 3.8测试阶段正式开始,发布Beta 1版

    上周,Python背后的团队宣布发布了Python 3.8.0b1 版本,这是Python 3.8计划的四个beta发行预览版中的第一个.此版本标志着beta阶段的开始,您可以在此阶段测试新特性,并使 ...

  2. airflow介绍

    1. airflow 介绍 1.1 airflow 是什么 Airflow is a platform to programmatically author, schedule and monitor ...

  3. ZenCart通过Contact Us接收垃圾邮件的过滤方案

    最近收到一些通过Contact Us进行垃圾外链群发的邮件,虽然可以通过在Contact Us增加验证码来解决,但不利于客户体验.所以我们可以通过简单的关键词过滤来实现,一般垃圾外链都含有“[url= ...

  4. JS 转Boolean的两张方法

    // 1.Boolean() console.log(Boolean(123)); // true console.log(Boolean(undefined)); // false console. ...

  5. 关于 Vue 微信客户端 不能播放音乐(报错和不能播放的问题)

    前言 用vue 做音乐播放的时候,在本地可以打开播放,但在微信里面不能播放音乐 所以这样解决 // 音乐播放 audioPlay(){ let _this = this; var audio = _t ...

  6. 多对多第三张表的创建方式 和 forms组件的使用

    目录 一.多对多第三张表的创建 1. 全自动方式 (1)实现代码 (2)优点和不足 2. 纯手撸方式(了解) (1)实现代码 (2)优点和不足 3. 半自动方式(推荐使用) (1)实现代码 (2)优点 ...

  7. 【UOJ#37】 [清华集训2014] 主旋律

    题目链接 题目描述 给定一张强联通图,求有多少种边的存在情况满足图依然强联通. \(n\leq15\) Sol 首先正难则反,考虑用总数减去不强联通的. 考虑一张不强联通的图,缩点后一定是一个 DAG ...

  8. C++--- Lambda匿名函数表达式

    视频教程:https://www.bilibili.com/video/av66419552/ 格式: [capture](parameters)mutable->returm-type{};  ...

  9. Python 3标准库 第十四章 应用构建模块

    Python 3标准库 The Python3 Standard Library by  Example -----------------------------------------第十四章   ...

  10. windows脚本复制文件(将u盘文件复制到固定路径)

    @echo off for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "VolumeName='Hel ...