Flutter | 创建仅在 Debug 模式下运行的语句

如果我们想要仅在 debug 模式下运行某些语句,那么可以通过断言 `assert`,配合闭包来进行实现。

assert(() {
   child.owner._debugElementWasRebuilt(child);// execute some code
   return true;
}());

解释一下,首先 assert 断言仅在 debug 模式下才会开启,所以断言内的内容可以仅在 debug 模式才得以执行。

而闭包是什么呢。

(){
   child.owner._debugElementWasRebuilt(child);// execute some code
   return true;
}()

这一段就是我们的闭包,首先它定义了一个匿名 Function

(){
   child.owner._debugElementWasRebuilt(child);// execute some code
   return true;
}

这是一个匿名函数,可以执行我们想要执行的内容。然后返回 true(为了不让断言挂掉)。

然后我们知道,Function( ) 就会立刻执行,所以这里我们通过匿名闭包 (){}() 立刻执行了闭包中的内容,并返回 true 给断言,让它不会挂掉。

那么就是这样啦,最近准备写一篇关于闭包的文章,你希望看到吗。