在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1. dart 在线编辑器一般一些简单的 dart 测试我们可以直接用在线编辑器来做测试和验证。 下面给大家介绍的两个都是官网的。 dart 在线运行器主页版:???? dart 在线运行器全屏版:???? 2. dart ?.左边如果为空返回 null,否则返回右边的值。
void main() { Animal animal = new Animal('cat'); Animal empty = null; //animal 非空,返回 animal.name 的值 cat print(animal?.name); //empty 为空,返回 null print(empty?.name); //animal 非空,可以直接访问 animal.name 的值 cat print(animal.name); //empty 为空,抛出异常 print(empty.name); } class Animal { final String name; Animal(this.name); } 3. dart ??左边如果为空返回右边的值,否则不处理。
4. dart ?. ??
如下所示:
应用场景二
void main() { C c = new C('Case 1'); B b = new B(c); A a = new A(b); // C c = new C(null); // B b = new B(c); // A a = new A(b); // C c = new C('Case 2'); // B b = null; // A a = new A(b); //直接使用.来最终获取 c 的变量 value if (a != null && a.bMember != null && a.bMember.cMember != null) { print(a.bMember.cMember.value); } else { print(null); } //直接使用.来最终获取 c 的变量 value,为空时返回 unknown if (a != null && a.bMember != null && a.bMember.cMember != null) { String value = a.bMember.cMember.value; if (value == null) { value = 'unknown'; } print(value); } else { print('unknown'); } //dart 使用?.来最终获取 c 的变量 value print(a?.bMember?.cMember?.value); //dart 使用?.来最终获取 c 的变量 value,为空时使用 ?? 返回 unknown print(a?.bMember?.cMember?.value??'unknown'); } class A { final B bMember; A(this.bMember); } class B { final C cMember; B(this.cMember); } class C { final String value; C(this.value); }
|
请发表评论