![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Dart
IT学霸
这个作者很懒,什么都没留下…
展开
-
Map定义时使用for循环和if过滤生成初始数据
Dart2.3以上的版本,Map定义时就可以使用简单的for循环和if判断进行map项的生成和过滤。但在使用时for/if等语句后面不能使用花括号({}),有点类似于python的类型推导了。 void main() { List<int> l1 = [1,2,3,4,6,5]; Map<int, int> mi2i = <int,int>{ for (var value in l1) if (value%2 == 0) v原创 2020-06-03 10:51:26 · 387 阅读 · 2 评论 -
Future和async(异步函数)、await(同步等待)
一、Future异步任务 then 与 Future 函数体共用一个事件循环。而如果 Future 有多个 then,它们也会按照链式调用的先后顺序同步执行,同样也会共用一个事件循环。 then 会在 Future 函数体执行完毕后立刻执行,无论是共用同一个事件循环还是进入下一个微任务。 对于一个Future对象,执行完成后,后面的then调用会共用Future 函数体的事件循环。会在函数体执行完后,顺序执行。如上图中的黄框所示。 如果then函数体是一个 Future 异步任务,这个 t.原创 2020-05-26 11:17:33 · 2170 阅读 · 0 评论 -
Dart语言dynamic类型的使用技巧
在Dart语言中,dynamic可以存储任意类型。当一个变量被声明为dynamic后,编译器则会关闭对此变量的类型检查,对此变量的操作都要靠我们自己来保证正确性。虽然很自由,但带来的隐患确实很大。 1、dynamic变量和非dynamic变量之间的赋值 // 同类型赋值没有问题 dynamic a1 = 100; int a2 = a1; // 此时由于a1实际上是int类...原创 2020-04-21 23:05:29 · 3715 阅读 · 0 评论 -
Dart基础之关键知识点2
1、final和const使用场景 const适用于编译期就能确定的字面值常量。 final适用于需要在运行期才能确定值的常量,且赋值后不能再改变值。 只看文字描述可能不好理解,通过下面的例子就会很清楚了,下面的例子如果把final改为const会编译不通过的。 var x = 100; var y = 200; final double xdy = x/y; // x/y的值在运...原创 2020-04-21 13:43:05 · 155 阅读 · 0 评论 -
Dart基础之关键知识点
1、final变量和const变量 final 表示一个运行时常量(在程序运行的时候赋值,赋值后值不再改变)。const 表示一个编译时常量,在程序编译的时候它的值就确定了。实例变量可以是final类型但不能是const类型, 只能在以下3个对方进行初始化: 在变量声明时; 参数构造函数中(this.变量名); 构造函数的初始化列表中进行初始化; 2、常变量可以赋值给非常变量,反...原创 2020-04-20 23:35:21 · 326 阅读 · 0 评论