Dart
dart语言的学习
镇天雷帝
这个作者很懒,什么都没留下…
展开
-
Dart之异步编程和future对象
文章目录重中之重异步编程1.事件循环体系1.1.Event-Looper1.2.单线程模型1.3.Dart的消息循环和消息队列(重中之重)1.4.通过链接方式指定任务顺序1.5Dart 的事件循环Future类**错误处理**Isolate(隔离) 协程代码演示:spawnUri和spawn(更常用)Flutter中创建Isolate使用场景重中之重注:如果async函数没有明确指定返回值,返回的null值的Future比如函数是打印 而不是return;async 不是并行执行,它是遵循Dart原创 2020-07-25 21:44:10 · 899 阅读 · 0 评论 -
Dart之库 语言特性
库导入标准库import 'dart:math';也可以用相对路径或绝对路径来引用dart文件import 'lib/student/student.dart';指定package:前缀,表示导入包管理系统中的库import 'package:utils/utils.dart';导入库时,可以使用as关键字来给库起别名,避免命名空间冲突。就是当两个库中都有同一个类型,使用的时候会命名冲突比如下面的两个element类,两个库都有,所以将第二个库用as 起别名import 'pac原创 2020-07-25 08:47:16 · 142 阅读 · 0 评论 -
Dart之异常处理
try { // 使除数为0 print(11~/0); } on IntegerDivisionByZeroException { print("除数为0"); }on Exception{ print("Exception"); }finally { print("finally"); }不关心具体异常,只想捕获,避免异常继续传递finally是无论是否碰到异常情况都要执行try { print(11~/0)原创 2020-07-25 08:17:15 · 397 阅读 · 0 评论 -
Dart之类
文章目录1.定义一个类2.命名构造方法3.可以通过实现 getters 和 setters 来创建附加属性1.定义一个类注意 和C++不一样的是 类的{}后面不用加分号“;”class Person { String name; int age; Person(String name, int age) { this.name = name; this.age = age; }}简化后可写成class Person { String name;原创 2020-07-24 12:15:16 · 155 阅读 · 0 评论 -
Dart之闭包
闭包是一个方法(对象)闭包定义在其他方法内部闭包能够访问外部方法内的局部变量,并持有其状态(这是闭包最大的作用,可以通过闭包的方式,将其暴露出去,提供给外部访问)内部指的是当前main或者是当前的执行函数,而外部指的是要调用的函数获取闭包,实际上就是调用一个外部函数让外部函数返回一个函数赋值给内部一个变量,可以通过这个变量来访问外部函数的已经执行完超出作用域的变量// 内部可以访问外部方法内的局部变量 countvoid main() { // 获取闭包 var func = a(.原创 2020-07-24 10:06:23 · 1133 阅读 · 0 评论 -
Dart之函数
文章目录可选参数(函数形参)命名可选参数位置可选参数匿名函数通过变量赋值自执行函数可选参数(函数形参)命名可选参数:用 { } 来指定,@required标注不想被忽略位置可选参数:用 [ ] 来指定命名可选参数与位置可选参数的区别,前者中的参数与顺序无关,无需按顺序传参,且传参数时需使用冒号;后者与顺序相关,传参必须依照顺序命名可选参数void main() { hello(name: 'Tom');}void hello({@required String name='Jack',原创 2020-07-24 09:52:33 · 186 阅读 · 0 评论