diff options
author | OKry <okry1123@gmail.com> | 2018-11-18 17:17:50 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-18 17:17:50 +0800 |
commit | a54b3879ca5bbdee2b7eea5fb1896de91ea31db5 (patch) | |
tree | 7af29bbae7124cc1fe894b09af1032ff8c8334b3 /zh-cn/dart-cn.html.markdown | |
parent | 44537874c3b189437b910e995938758dae4ab156 (diff) |
[dart/zh-cn]Fix bool convert of chinese version.
Same to my last commit of english version, fix bool implicit conversions support of chinese version.
Diffstat (limited to 'zh-cn/dart-cn.html.markdown')
-rw-r--r-- | zh-cn/dart-cn.html.markdown | 44 |
1 files changed, 34 insertions, 10 deletions
diff --git a/zh-cn/dart-cn.html.markdown b/zh-cn/dart-cn.html.markdown index b0287f0c..79db8e5c 100644 --- a/zh-cn/dart-cn.html.markdown +++ b/zh-cn/dart-cn.html.markdown @@ -176,23 +176,47 @@ example13() { match(s2); } -// 布尔表达式必需被解析为 true 或 false, -// 因为不支持隐式转换。 +// 布尔表达式支持隐式转换以及动态类型 example14() { - var v = true; - if (v) { - print("Example14 value is true"); + var a = true; + if (a) { + print("Example14 true, a is $a"); } - v = null; + a = null; + if (a) { + print("Example14 true, a is $a"); + } else { + print("Example14 false, a is $a"); // 执行到这里 + } + + // 动态类型的null可以转换成bool型 + var b;// b是动态类型 + b = "abc"; try { - if (v) { - // 不会执行 + if (b) { + print("Example14 true, b is $b"); } else { - // 不会执行 + print("Example14 false, b is $b"); } } catch (e) { - print("Example14 null value causes an exception: '${e}'"); + print("Example14 error, b is $b"); // 这段代码可以执行但是会报错 } + b = null; + if (b) { + print("Example14 true, b is $b"); + } else { + print("Example14 false, b is $b"); // 这行到这里 + } + + // 静态类型的null不能转换成bool型 + var c = "abc"; + c = null; + // 编译出错 + // if (c) { + // print("Example14 true, c is $c"); + // } else { + // print("Example14 false, c is $c"); + // } } // try/catch/finally 和 throw 语句用于异常处理。 |