当前位置: 首页 > news >正文

做外贸网站诈骗合肥网站优化排名推广

做外贸网站诈骗,合肥网站优化排名推广,网站开发台州,天河做网站哪家好目录 1. 注释 1.1 单行注释 1.2 多行注释 1.3 文档注释 2. 函数 2.1 定义 2.2 可选参数 2.3 可选参数 默认值 2.4 命名参数 默认值 2.5 函数内定义 2.6 Funcation 返回函数对象 2.7 匿名函数 2.8 作用域 3. 操作符 3.1 操作符表 3.2 算术操作符 3.3 相等相关的…

目录

1. 注释

1.1 单行注释

1.2 多行注释

1.3 文档注释

2. 函数

2.1 定义

2.2 可选参数

2.3 可选参数 默认值

2.4 命名参数 默认值

2.5 函数内定义

2.6 Funcation 返回函数对象

2.7 匿名函数

2.8 作用域

3. 操作符

3.1 操作符表

3.2 算术操作符

3.3 相等相关的操作符

3.4 类型判定操作符

3.5 条件表达式

3.6 位和移位操作符

3.7 级联操作符

3.8 其他操作符

4. 流程控制

5. 异常

错误的两种类型

5.1 Exception 类

5.2 Error 类

5.3 抛出错误

5.4 捕获错误

5.5 重新抛出错误以及finally

5.6 自定义异常


1. 注释

1.1 单行注释

// Symbol libraryName = new Symbol('dart.core');

1.2 多行注释

/*

* Symbol

*

Symbol libraryName = new Symbol('dart.core'); MirrorSystem mirrorSystem = currentMirrorSystem(); LibraryMirror libMirror = mirrorSystem.findLibrary(libraryName); libMirror.declarations.forEach((s, d) => print('$s - $d'));

*/

一般用在需要说明 类 函数 功能 输入 输出

1.3 文档注释

/// `main` 函数
///
/// 符号
/// 枚举
///
void main() {
  ...
}

类、函数 请用 /// 方式定义,后期导出文档有帮助

2. 函数

2.1 定义

int add(int x) {return x + 1;
}调用
add(1);

2.2 可选参数

int add(int x, [int? y, int? z]) {if (y == null) {y = 1;}if (z == null) {z = 1;}return x + y + z;
}调用
add(1, 2);

可选参数

使用方括号 [] 来定义可选参数 y 和 z。调用函数时可以选择传入或者不传入这两个参数。

可空类型

int? 表示 int 类型的值可以是 null。如果没有使用 int?,那么 Dart 不允许把 null 赋值给该参数。

默认值逻辑

在函数内部,通过 if (y == null) 和 if (z == null) 检查 y 和 z 是否为 null,如果是则赋值为默认的 1

2.3 可选参数 默认值

int add(int x, [int y = 1, int z = 2]) {return x + y;
}调用
int(1, 2);

就是cpp的缺省值

2.4 命名参数 默认值

int add({int x = 1, int y = 1, int z = 1}) {return x + y + z;
}调用
int(x: 1, y: 2);

这个会比可选参数更灵活,可以调用的时候再指定传参

2.5 函数内定义

void main(){int add(int x){return x + x;}print(add(1));
}

cpp的就是lambda

2.6 Funcation 返回函数对象

Function makeAdd(int x) {return (int y) => x + y;
}调用
var add = makeAdd(1);
print(add(5));

这里是add接收了一个函数对象,然后在print里面调用了返回的函数对象

2.7 匿名函数

下面代码定义了只有一个参数 item 且没有参数类型的匿名方法。 List 中的每个元素都会调用这个函数,打印元素位置和值的字符串:

const list = ['apples', 'bananas', 'oranges'];
list.forEach((item) {print('${list.indexOf(item)}: $item');
});

箭头函数 如果只有一个表达式

list.forEach((item) => print('${list.indexOf(item)}: $item'));

2.8 作用域

下面是一个嵌套函数中变量在多个作用域中的示例:

bool topLevel = true;void main() {var insideMain = true;void myFunction() {var insideFunction = true;void nestedFunction() {var insideNestedFunction = true;assert(topLevel);assert(insideMain);assert(insideFunction);assert(insideNestedFunction);}}
}

注意 nestedFunction() 函数可以访问包括顶层变量在内的所有的变量。简单说就是被包含的作用域内可以访问包含其的外部变量

3. 操作符

3.1 操作符表

优先级顺序 上面左边 优先级高于 右边下面

3.2 算术操作符

3.3 相等相关的操作符

3.4 类型判定操作符

  int a = 123;String b = 'ducafecat';String c = 'abc';print(a as Object);print(b is String);print(c is! String);

3.5 条件表达式

  bool isFinish = true;String txtVal = isFinish ? 'yes' : 'no';bool isFinish;isFinish = isFinish ?? false;orisFinish ??= false;

3.6 位和移位操作符

3.7 级联操作符

  StringBuffer sb = StringBuffer();sb..write('hello')..write('word')..write('\n')..writeln('doucafecat');

如果没有级联操作符,就需要 sb.write(...);sb.write(...);....

3.8 其他操作符

  String a;print(a?.length);

4. 流程控制

if else;for;while;do while;switch case;break;continue;相信这些就不用博主多说了哈

值得一提的是 continue 有一点不一样

continue 跳转指定位置(就像cpp的go to,新增了这个功能)

String command = "close";
switch (command) {case "open":print("open");break;case "close":print("close");continue doClear;case "close2":print("close2");continue doClear;doClear:case "doClose":print("doClose");break;default:print("other");
}

5. 异常

错误的两种类型

5.1 Exception 类

Exception class

可以捕获,可以安全处理

5.2 Error 类

Error class

一般用在不可恢复,容易崩溃的情况

5.3 抛出错误

  // Exception 对象throw new FormatException('这是一个格式错误提示');// Error 对象throw new OutOfMemoryError();// 任意对象throw '这是一个异常';

5.4 捕获错误

  try {// throw new FormatException('这是一个格式错误提示');throw new OutOfMemoryError();} on OutOfMemoryError {print('没有内存了');} catch (e) {print(e);}

5.5 重新抛出错误以及finally

  try {throw new OutOfMemoryError();} on OutOfMemoryError {print('没有内存了');rethrow;} catch (e) {print(e);} finally {print('end');}

try里面是抛出错误,on是捕获特定错误,catch是捕获所有错误,retgrow是重新抛出异常,finally是不管有没有错都会走的!

5.6 自定义异常

implements关键字可以自定义异常

class DioError implements Exception {DioError(this.message, this.type);final String message;final String type;@overrideString toString() {return 'DioError{message: $message, type: $type}';}
}void main(List<String> args) {throw DioError("error", "type");
}

创作不易,希望读者三连支持 💖
赠人玫瑰,手有余香 💖

http://www.mmbaike.com/news/92686.html

相关文章:

  • 做企业网站需要准备什么资料什么软件可以搜索关键词精准
  • 我的个人网站怎么做郑州seo外包顾问热狗
  • 网络推广费用厦门seo公司
  • 网站备案申请店铺推广怎么做
  • java在线编程网站域名注册需要多久
  • dede 汽车网站网站用户体验优化
  • 网站怎么做404页面的跳转网页免费制作网站
  • saas云建站平台源码千锋教育的官网
  • 网站建设公司上海做网站公司哪家好网站快速收录
  • 网站制作公司承担百度24小时人工电话
  • 北京东直门 网站建设搜索竞价托管
  • 腾讯网页游戏排行榜镇江seo优化
  • 洛阳做网站哪家便宜网络推广的方法和技巧
  • 公司网站建设文案百度收录怎么查询
  • 连江网站建设服务关键词调词平台哪个好
  • 创建网站app郑州官网网站优化公司
  • 怎样建设公司的网站推广的渠道和方法有哪些
  • 天津河西做网站哪家好如何用html制作网页
  • 国外导航网站程序互联网营销培训课程
  • 洛阳网站建设哪家好今日国际新闻事件
  • 电子商务网站建设结论站长工具官网查询
  • 武陵天下网站开发推广营销app
  • 肃宁做网站seo页面优化公司
  • 芜湖做网站设计的公司百度seo
  • 电商 做图 网站有哪些所有关键词
  • 免费建网站抚顺百度首页纯净版怎么设置
  • 基本的网站开发技术路线免费创建个人博客网站
  • 手机网站关键词排名seo是什么字
  • 徐州网站开发要多少钱新网站怎么做优化
  • 网站文章内链网络营销与传统营销有哪些区别