diff options
author | Stanley Lim <slim679975@gmail.com> | 2019-11-21 10:54:24 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-21 10:54:24 -0500 |
commit | 2b1e1cca08eac0d4dc8f685dbe98d80683ca9d3a (patch) | |
tree | 460bb7d5cbc1141f8e710e3704f6d03dc25ea193 /zh-cn/dart-cn.html.markdown | |
parent | d4c5ff14cc8a0717f68746b4fe84cfb4efbdecf6 (diff) | |
parent | f1d03b0318a43441bb96bfdaabbd914eaa985879 (diff) |
Merge pull request #1 from adambard/master
Merging from master.
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 语句用于异常处理。 |